1
Q
雙轉換爲分數
A
回答
1
我想你想的雙重價值的近似分數表示(如你的例子)
一個簡單的方法是一個嘗試分母之一:
double doubleVal = 0.33333;
double negligibleRatio = 0.01;
for(int i=1;;i++){
double tem = doubleVal/(1D/i);
if(Math.abs(tem-Math.round(tem))<negligibleRatio){
System.out.println(Math.round(tem)+"/"+i);
break;
}
}
這打印1/3
。如果您設置double doubleVal = 0.6363636;
,則會打印7/11
。
如果您想要更簡潔的分數結果,您可以將negligibleRatio
更改爲更大的值。
相關問題
- 1. 整數轉換爲雙重
- 2. 數據轉換爲雙
- 3. 雙轉換爲NaN
- 4. 將雙數組轉換爲IComparable數組
- 5. 將JavaScript數字轉換爲Dart雙數
- 6. 如何將ieee754雙打轉換爲兩個整數的分數?
- 7. 如何將分數轉換爲雙精度或小數?
- 8. 將小數點分隔符錯誤地轉換爲雙數
- 9. 轉換爲8字節數組轉換爲雙
- 10. 在MATLAB中將複數雙數組轉換爲雙數組
- 11. 將雙數組轉換爲QByteArray
- 12. 將雙數值轉換爲文本
- 13. 將字符串轉換爲雙數
- 14. 將雙精度轉換爲整數
- 15. 將雙精度轉換爲浮點數
- 16. PHP數組轉換爲雙引號
- 17. 將整數列轉換爲雙倍
- 18. 轉換的十六進制數爲雙
- 19. 將雙數組轉換爲列表
- 20. 轉換字符數組爲雙
- 21. 從雙倍轉換爲小數
- 22. 將括號(負數)轉換爲雙倍
- 23. 將數據表列轉換爲雙C#
- 24. 將部分非數字字符串轉換爲雙倍
- 25. 雙轉換爲int,捨去
- 26. 轉換爲雙指針
- 27. 將Varchar轉換爲雙份
- 28. 雙打轉換爲int
- 29. 轉換雙爲int在C#
- 30. 雙轉換爲十進制
您應該包含一個[mcve] –
準確地說,0.33333是**不是** 1/3。你需要多少精度? –