在 JS 中,我们使用Number.toExponential()which Converts 将数字转换为其科学记数法(即 : for 1000 -> "1e3")。
我检查了 hoggle 但似乎找不到它。
注:以指数变化num -> string
您可以使用printf :: PrintfType r => String -> r and 与%eor%E说明符一起使用:
Prelude> import Text.Printf
Prelude Text.Printf> printf "%e" 14.25 :: String
"1.425e1"
Prelude Text.Printf> printf "%E" 14.25 :: String
"1.425E1"Run Code Online (Sandbox Code Playgroud)
这里%e指定小写的科学记数法e,以及%E大写的E。的输出类型printf可以是 aString或 an IO ()。如果String使用该类型,我们会得到一个String格式化类型,因为IO ()它将将该类型打印到标准输出。
@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"Run Code Online (Sandbox Code Playgroud)
因此,这意味着该1000类型不应该是Scientific`
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |