如何打印小數點後的浮點/雙精度變量的數字? 例如對於435.5644
,它將輸出5644
。打印小數點後的數字
1
A
回答
5
嘗試
fraction = value - (long) value;
或:
fraction = value - Math.Floor(value);
1
你可以嘗試以下方法:
double d = 435.5644;
int n = (int)d;
var v = d - n;
string s = string.Format("{0:#.0000}", v);
var result = s.Substring(1);
結果:5644
-1
編輯:引用了另一個問題(HTTP ://stackoverflow.com/questi附件/ 4512306/GET-小數部分的非數字式的JavaScript )你可以做到以下幾點:
double d = 435.5644;
float f = 435.5644f;
Console.WriteLine(Math.Round(d % 1, 4) * 10000);
Console.WriteLine(Math.Round(f % 1, 4) * 10000);
這會給你你要找的整數部分。
最好是這樣做,因爲Aghilas雅庫布回答,但是,在這裏下面另一個選項使用字符串處理。假設所有金額將有小數和小數點分隔符是一個點,你只需要拿到索引1
double d = 435.5644;
Console.WriteLine(d.ToString().Split('.')[1]);
float f = 435.5644f;
Console.WriteLine(f.ToString().Split('.')[1]);
否則,你可能會得到一個未處理的異常(。):System.IndexOutOfRangeException。
+0
好主意,但正如你所說的,當整數通過時會有一些問題 – 2012-07-31 16:14:38
相關問題
- 1. 在小數點後打印雙數字
- 2. 格式化小數點後不打印零點的浮點數
- 3. 如何在小數點後打印最多2位數字?
- 4. 在小數點後打印PHP浮點數3位數?
- 5. 打印整數作爲字符,小數點,浮點數
- 6. 點後打印雙號無數字
- 7. 打印浮點數達到小數點後六位
- 8. 如何打印小數點後3位的numpy數組?
- 9. 打印一個整數或小數點後n位的浮點數
- 10. 使用流在點後打印最大小數位數
- 11. 打印雙精度小數點前後兩位數
- 12. 使用boost :: format僅在小數點後打印兩位數
- 13. 帶小數點的打印號碼
- 14. 將小數點後的零打印到excel中
- 15. 從浮點值打印2位小數
- 16. 將小數點後的小數點後的字符串轉換爲浮點數
- 17. 在數組中向後打印數字
- 18. 打印浮點數
- 19. 印錯小數點
- 20. printf後打印的額外數字
- 21. 獲取小數點後面的數字
- 22. 設置小數點後的數字
- 23. 小數點後的附加數字
- 24. LISP - 小數點後的數字
- 25. Java:指定小數點後的數字
- 26. cout跳過小數點後的數字
- 27. 小數點後的數字固定量
- 28. 使用管道打印/角逗號或小數點打點
- 29. C代碼浮點數到int(格式打印字符串)轉換小數點
- 30. 爲什麼不將小數點打印到字符串?
比我在打字時的解決方案更好! – Liam 2012-07-31 15:51:31
我很樂意幫助你Liam和user1014842 – 2012-07-31 15:52:08
這不僅是小數點後的部分。分數是順便說一句0.56439999999997781。認爲這不是OP想要的。 – 2012-07-31 15:56:05