No to źle Cię zrozumiałem, myślałem że chcesz sobie drukować napisy czy tam pokazać na LCD. Jak to mają być liczby to możesz sobie pierwszą liczbę podzielić modulo przez 100 i przypisać do liczby całkowitej int.
int i= 18.639749%100, zostanie przypisana liczba 18.
Potem pierwszą liczbę mnożysz x100 i znowu dzielisz modulo przez 100, masz i=63, (18.63*100)%100 = 63, itd.
Jak pierwsza liczba w części całkowitej może być większa niż 100 to podziel pierwszy raz modulo 1000, no ale jest że ma być liczba dwucyfrowa, tak że 100 jest OK.
Dzielenie i mnożenie na pewno będzie szybsze niż zamiana na string, wyłowienie dwóch znaków i potem z powrotem zamiana na int.
A po chwili zastanowienia łatwiej zacząć od tyłu:
int i= 18.639749%100, zostanie przypisana liczba 18.
Potem pierwszą liczbę mnożysz x100 i znowu dzielisz modulo przez 100, masz i=63, (18.63*100)%100 = 63, itd.
Jak pierwsza liczba w części całkowitej może być większa niż 100 to podziel pierwszy raz modulo 1000, no ale jest że ma być liczba dwucyfrowa, tak że 100 jest OK.
Dzielenie i mnożenie na pewno będzie szybsze niż zamiana na string, wyłowienie dwóch znaków i potem z powrotem zamiana na int.
A po chwili zastanowienia łatwiej zacząć od tyłu:
Kod:
float zmiennaf=18.681232;
uint32_t zmienna32;
void setup() {
// put your setup code here, to run once:
delay(5000);
zmienna32= 1000000*zmiennaf;
Serial.begin(115200);
while (zmienna32>0)
{
Serial.println(zmienna32%100);
zmienna32/=100;
}
}
void loop() {
// put your main code here, to run repeatedly:
}
Miło być decenianym https://buycoffee.to/kaczakat