我想檢查一下float32是否有兩位小數。我的JavaScript方式做到這一點看起來像:如何計算浮點數的小數位數?
step := 0.01
value := 9.99
if int(value/step) % 1 == 0 {
printf("has two decimal places!")
}
上面的例子也適用。但是,如果步驟不正確,則無法正常工作,因爲無法從float64轉換爲int。
例子:
step := 0.1
value := 9.99
if int(value/step) % 1 == 0 {
printf("has two decimal places!")
}
編譯器錯誤:constant 9.99 truncated to integer
當我們使用動態值,它只是針對每一種情況下返回true。
那麼計算小數位的適當方法是什麼?
是否有可能使這更加動態?這看起來像動態步驟的功能呢?用你的例子,我需要硬編碼'100'和'1e-5'。 – bodokaiser
@bodokaiser查看更新,但當值接近9.99時會失敗,如9.990000001 – chendesheng
謝謝。不介意我是否會將問題留給開放。否則我在後面標記:) – bodokaiser