打印出16位小数位数

问题描述

| 我正在寻找在小数点后立即打印16位数字。我有这个:
\"%.16f\" % rand => \"0.3179239550385533\"
但是,这会打印出一个小数点和一个前导零。有什么办法可以做只做十进制数字的字符串格式?谢谢!     

解决方法

        您不需要使用
%
来获取字符串,只需花费
to_s
就可以摆脱困境。然后对字符串下标以丢弃前两个字符:
rand.to_s[2..-1]
如果您需要16个字符,但是
rand
会给您带来一些不足的问题,这可能会引起问题。如果您需要担心,请返回back1,但保留下标:
(\"%.16f\" % rand)[2 .. -1]
例如:
>> (\"%.16f\" % 0.23)[2 .. -1]
=> \"2300000000000000\"

>> (\"%.16f\" % rand)[2 .. -1]
=> \"1764617676514221\"

>> rand.to_s[2 .. -1]
=> \"339851294100813\"

>> \"0.354572286096131\"[2 .. -1]
=> \"354572286096131\"
    ,        为什么不创建0到10 ^ 16-1之间的随机整数?
rand(10**16)
要么
\"%016d\" % rand(10**16)
    ,        您可以尝试将数字乘以10 ^ 16,然后将其舍入为整数并将其打印为整数。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...