2014-10-17 191 views
0

我想在「。」之後將浮點型精度從7位減少到6。我試着將數字乘以10,但這不起作用。有任何想法嗎?更改浮點型精度

+3

你可以請你出示你的代碼嗎?感覺就像你只需要格式化,但不知道沒有看到你的工作。 – 2014-10-17 14:41:31

+0

可能的重複:http://stackoverflow.com/questions/6356351/formatting-a-float-to-2-decimal-places – 2014-10-17 14:43:44

+4

你真的想要做什麼?向左和向右移動小數點(這是乘以10的任何冪到十進制數,或乘以2的冪到二進制數)不會影響精度。這讓我懷疑你沒有精確地使用術語。你想做什麼 ? – 2014-10-17 14:44:37

回答

2

如果你只是想格式化輸出的數量(即轉換爲字符串),你只需要使用正確的格式字符串:如果你需要做的,對於

13.651234f.ToString("f6"); // Always six decimal places 

您的應用程序邏輯,您可能要使用decimal而不是float - float是一個二進制數,所以「十進制」小數位的概念有點偏離。

+0

只是說這不是關於格式化,我正在做一個挑戰,精度應該在點後6位數。 – user3868594 2014-10-17 15:36:45

+0

@ user3868594那麼,浮點數只有二進制精度。小數精度總是會很痛苦。例如,'0.9f'不能用有限的二進制浮點表示。所以,如果你關心小數精度,可以用'decimal'代替。 – Luaan 2014-10-20 08:13:35