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