Stránka 1 z 1
proměnné do string
Napsal: 13 zář 2023, 09:48
od Ludek
Zdravím, nějak jsem se zacyklil a nemohu na to přijít.
Prosím, jak dát 4 proměnné byte anebo int do stringu?
přiklad a=5; b=11; c=22; d=33;
a string aby byl myString = "5112233"
díky za radu
Re: proměnné do string
Napsal: 13 zář 2023, 10:05
od ondraN
Kód: Vybrat vše
myString = String(a)+String(b)+String(c)+String(d);
A pokud tam už něco máš a chceš ty proměné přidat tak
Kód: Vybrat vše
myString = myString+String(a)+String(b)+String(c)+String(d);
Re: proměnné do string
Napsal: 13 zář 2023, 10:18
od Ludek
Ondro díky !!!!
toto forum je super...
Re: proměnné do string
Napsal: 13 zář 2023, 10:21
od gilhad
a v praxi by to chtělo nějak oddělit, aby se poznalo, jestli a=5, b=11, nebo a=51 b=1 (a taky se vše posune pro a>9, nebo b<10 ...).
Jinak já používám snprintf případně to spočtu rovnou, ale já tím většinou vycpávám předvyplněné řetězce
Kód: Vybrat vše
void decTo2char(uint8_t val, char *c) { // Convert normal decimal number 00..99 to two char
c[0]= '0'+val/10;
c[1]= '0'+val%10;
}
void bcdTo2char(uint8_t val, char *c) { // Convert binary coded decimal number 00..99 to two char
c[0]= '0'+((val>>4)&0x0F);
c[1]= '0'+(val&0x0F);
}
...
// request seven bytes of data from DS3231 starting from register 00h
tmp = Wire.read();
bcdTo2char(tmp,&textTime[6]);
second = bcdToDec(tmp);
tmp = Wire.read();
bcdTo2char(tmp,&textTime[3]);
minute = bcdToDec(tmp);
tmp = Wire.read();
bcdTo2char(tmp,&textTime[0]);
hour = bcdToDec(tmp); // 40+ hours = 12 hour time = something is bad anyway
Kód: Vybrat vše
static char buf[4];
snprintf(buf,4,"%d",i);
Re: proměnné do string
Napsal: 13 zář 2023, 17:47
od Ludek
Jo pravda... taky zkusím.