Permalänk
Medlem

c++ wildcard (linux)

Hej!

jag skulle vilja göra en avrundning på en double variable dvs
kan kanske vara värt att säga att jag sitter i ubuntu 12.04 och gör detta!...

if(double >= *.5*) { int=double+1; }

uppenbarligen så funkade inte denna metod och jag undra om de går att göra på något sätt.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

du kan kapa bort decimalerna med en så kallad type cast

double a = 3.74; int b = a; // b får här värdet 3

om du vill avrunda kan du sedan kolla decimaldelen om den är större än eller lika med 0.5

double decimals = a - b; if ( decimals >= 0.5) b = b + 1;

Permalänk
Medlem

int round(double r) { return static_cast<int>((r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5)); }

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410