【发布时间】:2013-09-22 00:12:31
【问题描述】:
我需要分配一些可以是字符串、整数或浮点数的对象,但我总是需要将它们存储为字符串。
a = myvar.to_s
此解决方案在大多数情况下都有效,但例如当 myvar 为“7.50”时,“a”将为“7.5”
我需要一个与原始小数位数相同的小数位数。有没有办法告诉 ruby 我正在读取的变量将是一个字符串,无论它看起来像什么。
编辑:我正在从 csv 文件导入数据,我正在寻找一种方法来告诉 ruby 它将读取的所有内容都是字符串,无论它看起来像整数还是浮点数。 例如,我可以有“7”、“5.5000”、“5.5”等值。
【问题讨论】:
-
有点不清楚你在问什么。
-
您能否添加有关您的数据源的更多详细信息,以及您最初是如何获得
Float的?任何解决方案都可能需要考虑(反)序列化层。如果您希望修改值但保持相同的格式,这可能会变得复杂,您需要知道每个字段的正确格式(包括数字的有效位数) -
不能指定浮点数的位数:
myvar = 7.50 #=> 7.5 -
@NeilSlater,我编辑了这个问题,试图让它更清楚
-
您提出的问题说明了我们无法通过自己的方式重现的问题。 OP 可以发布包含重现问题的代码和示例数据的问题,届时我们可以尝试提供帮助。事实上,这个问题没有什么意义,而且因为我们无法重现您所看到的问题,我们无法帮助解决它。请阅读sscce.org 和meta.stackexchange.com/questions/156810/… 来创建一个可以帮助我们帮助您的问题。