在JS中,我們有Number.toExponential(),它可以將一個數字轉換為其科學符號(即:為1000 -> "1e3")。
我在hoggle上檢查了一下,但我似乎找不到它。
注意:toExponential改變了num -> string
uj5u.com熱心網友回復:
你可以利用printf :: PrintfType r => String -> r 并使用%e或%E指定器:
Prelude> import Text.Printf
Prelude Text.Printf> printf "%e" 14.25 : 。String
"1.425e1"/span>
Prelude Text.Printf> printf "%E"/span> 14.25 :: String
"1.425E1"/span>
這里%e用小寫的e指定科學符號,而%E用大寫的E。printf的輸出型別可以是一個String,或者一個IO()。如果使用String型別,我們將得到一個帶有格式化型別的String,對于IO(),它將把該型別列印到stdout.
@Noughtmare也提到了 showEFloat :: RealFloat a => Maybe Int -> a -> String -> String在字串前加上RealFloat數字型別的指數表示。
你也可以用一個Scientific數字,然后用formatScientific :: FPFormat -> Maybe Int -> Scientific -> String。
如果你因此安裝了scientific包,我們可以用以下方式實作:
Prelude> import Data.Scientific
Prelude Data. Scientific> formatScientific Exponent Nothing 1000。
"1.0e3"/span>
因此,這意味著1000型別應該是科學而不是一個`
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/316901.html
標籤:
