gpt4 book ai didi

Ruby 在转换为字符串时减去一微秒

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:44 26 4
gpt4 key购买 nike

我有一个字符串时间戳:

ts = '1550989255.000300'

如何将 TimeDatetime 对象中的 ts 解析为 t,并得到 t.strftime('%6N') 打印正确吗?

我做到了:

t = Time.at(ts.to_f)
t.strftime '%6N' #=> "000299"

Ruby 在将时间戳转换为字符串时减少一微秒。

最佳答案

您观察到 float 学不准确。如果你需要更高的精度,你应该使用 BigDecimal .

require 'bigdecimal'

ts = BigDecimal('1550989255.000300')
t = Time.at(ts)
t.strftime '%6N'

=> "000300"

关于Ruby 在转换为字符串时减去一微秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com