Float kerekítés

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
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ásSzerző: Chipkonzol » 2016. augusztus 24. szerda, 18:55

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: 287
Csatlakozott: 2015. március 27. péntek, 21:27

Re: Float kerekítés

HozzászólásSzerző: csegebiga » 2016. augusztus 24. szerda, 19:51

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ásSzerző: Chipkonzol » 2016. augusztus 24. szerda, 20:48

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: 9948
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Float kerekítés

HozzászólásSzerző: Robert » 2016. augusztus 24. szerda, 20:57

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ásSzerző: Chipkonzol » 2016. augusztus 24. szerda, 21:24

Köszönöm mindkettőtöknek így már érthető!

Telectronic
DrótVégénSzéndarab
Hozzászólások: 20
Csatlakozott: 2018. február 26. hétfő, 9:04
Tartózkodási hely: Budapest
Kapcsolat:

Re: Float kerekítés

HozzászólásSzerző: Telectronic » 2019. január 26. szombat, 9:08

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 !

Avatar
Verjoz
SzínkódFestő
Hozzászólások: 84
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Float kerekítés

HozzászólásSzerző: Verjoz » 2019. február 21. csütörtök, 19:44

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!?


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: Bing [Bot] valamint 0 vendég