2017-02-21 41 views
1

此外浮點值我有2個浮點值作爲3個小數點

A = 0.0306880000 
B = 0.0396640000 

當我用printf打印爲"%5.3f",A值被打印爲0.031和B值被打印爲0.040。當我將這兩個值加在一起時,我得到了答案0.070(這是0.0306880000 + 0.0396640000)。

如何僅包含3個小數點以便加入以便答案爲0.071(0.031 + 0.040)。

+0

這是不可能的,在一般情況下,與浮點類型。 – 2501

+0

你的意思是答案應該是0.069當我添加0.0306880000和0.0396640000做一個printf與%5.3f? – anisha

+0

不,這與我所說的無關。 – 2501

回答

-1

你應該使用這個宏圓A和B的值:

#define ROUND3(number) ((int)((number) * 1000 + 0.5)/1000.0)

test code

+1

這對許多負數,int值範圍以外的值,加0.5和其他情況下舍入的值都會失敗。 – chux