Float kerekítés

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Chipkonzol
DrótVégénSzéndarab
Hozzászólások: 33
Csatlakozott: 2016. február 13. szombat, 14:00

Float kerekítés

Hozzászólás Szerző: Chipkonzol »

Sziasztok!

Adott egy egyszerű mérleg amit HX711 illeszt az arduinohoz

Kód: Egész kijelölése

#include "HX711.h"

HX711 scale(A0, A1);    
void setup() {
  
  delay(100);
  
  Serial.begin(57600);
  Serial.println("HX711 Demo");

  Serial.println("Before setting up the scale:");
  Serial.print("read: \t\t");
  Serial.println(scale.read());      
  scale.set_scale(20950.f);   
  scale.tare();            
}
void loop() {
  
  delay(1000);
  Serial.println(scale.get_units(10));
   

}
Annyi problémám van hogy ez század pontos értéket ad.
Nekem csak tized pontos kellene.
Hogyan tudom a 2 tizedest kerekítéssel 1 tizedesre alakítani?
Ebben kérném a segítségeteket.

Előre is köszönöm
Avatar
csegebiga
Chipgyilok
Hozzászólások: 288
Csatlakozott: 2015. március 27. péntek, 21:27

Re: Float kerekítés

Hozzászólás Szerző: csegebiga »

pl:
fogod a float értékét,
szorzod tízzel,
hozzáadsz 0.5-öt,
veszed az egész részét,
elosztod tízzel.

így
1.14-->1.1 lesz,
1.15-->1.2 lesz

(c)
Chipkonzol
DrótVégénSzéndarab
Hozzászólások: 33
Csatlakozott: 2016. február 13. szombat, 14:00

Re: Float kerekítés

Hozzászólás Szerző: Chipkonzol »

Köszönöm a választ
Csak ezt nem tudom formailag megírni. :oops:
csegebiga írta: veszed az egész részét,
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Float kerekítés

Hozzászólás Szerző: Robert »

INTeger
Vagy olyan változóba rakod át, amiben nincs tizedes.
Integer esetén:

a - integer
b - float (14.4563)
a=b;
(eredmény: a= 14)
http://www.tavir.hu - a gazda :)
Chipkonzol
DrótVégénSzéndarab
Hozzászólások: 33
Csatlakozott: 2016. február 13. szombat, 14:00

Re: Float kerekítés

Hozzászólás Szerző: Chipkonzol »

Köszönöm mindkettőtöknek így már érthető!
Telectronic
Biztosítékgyilkos
Hozzászólások: 73
Csatlakozott: 2018. február 26. hétfő, 9:04

Re: Float kerekítés

Hozzászólás Szerző: Telectronic »

Sziasztok,

Megint előkerültem, most éppen én vagyok a szerencsétlen flótás.. :)

Szóval megy az I2C kommunikáció az arduinok között. Majdnem minden tök jó lenne ha ezek a fránya ds18b20 szenzorok nem float-ot adnának vissza és ezeket kellene átküldenem a slave I2C-ből a master I2C-be, az i2C csak bájtot tud küldeni.
Adódik az ötlet, hogy akkor tegyük át stringbe vagy charba, de utána meg vissza kellene tenni floatba, mert tovább kellene vele számolnom.
Sőt még az előjele is lehet a floatnak negatív.
Erre valami nagyon egyszerű az én kis eszemnek való megoldást keresek.
Programozni úgy éppen már tudok de amikor előkerülnek a ptr* meg a *-al kiegészített változók na akkor csak úgy nézek, mint egy boci:)
Kerestem a gugliban az i2c float kifejezést, kaptam is egy csomó találatot, de vagy nem értem a működését vagy nem is működik....
Tudna valaki esetleg amolyan "most én megtanítom neked, hogyan kell ezt csinálni" szívességet adni ?

Köszömöm
Mindenki azt gondol amit akar, de a szabad világban, szabad országban, bármit csinálhatsz amit szabad !
Nem szeretem ezt a hazug világot !
Avatar
Verjoz
SzínkódFestő
Hozzászólások: 99
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Float kerekítés

Hozzászólás Szerző: Verjoz »

Külön küldeni?

Nem lenne megoldás??

Float x=1.5;

Az lehetne szerintem:
Int y=1
Akkor string "."
és int z=5

Utánna meg a másik prociban meg összerakod???
Csak ötlet!?
Válasz küldése