在加载具有诸如 25.0 之类的值的 yaml 文件时,将.0
被忽略,我得到的是 25。是否可以强制 yaml 在不操作数据的情况下考虑该值?我尝试将值括在单引号/双引号中,但这不起作用。
[编辑]:我正在使用yaml
R 编程语言的解析器包。返回的数据类型是double
。如果我将值设置为 25.2,我会得到相同的值。如何强制 YAML/R 按原样读取 YAML 中的信息。
您的问题是解析器识别出这些是浮点数,而在 R 中,25.0 和 25 之间没有区别。例如,试试这个:
identical(25.0, 25)
25.0 和 25 只是同一个浮点数的两种不同表示。如果您想保留提供数据的形式,您必须将它们作为字符串读取(如果您需要执行计算,您可以稍后将其转换为数字)。您可以使用处理程序执行此操作:
yaml.load("25.0", handlers=list("float#fix"=function(x) as.character(x)))
也许这会有所帮助:http ://tolstoy.newcastle.edu.au/R/help/06/05/28016.html
建议更改数字设置,并可能将数字四舍五入以避免太多小数位。
选项(数字=2)
格式(roundf(x,2),nsmall = 2)