请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
我正在尝试读取第一列中包含条形码的CSV文件,但是当R将其转换为data.frame时,它将转换1665535004661为1.67E+12.
有没有办法以整数格式保存这个数字?我尝试分配一类"double",但是没有用,也没有分配一类"character".一旦它处于1.67E+12格式,任何将其转换回整数的尝试都会返回167000000000.
在RI已经写了这个函数
ifun <- function(m) {
o = c()
for (k in 1:m) {
o[k] = prod(1:k) / prod(2 * (1:k) + 1)
}
o_sum = 2 * (1 + sum(o)) # Final result
print(o_sum)
}
Run Code Online (Sandbox Code Playgroud)
这个函数逼近 constant pi,但是,在m > 50逼近被卡住之后,即逼近是相同的值并且不会变得更好。我怎样才能解决这个问题?谢谢。
我正在读一个csv文件,其中包含一些非常大的数字,如1327707999760,但是R会自动将其转换为1.32771e + 12.我试图给它分配一个双类,但它不起作用,因为它已经是一个舍入值.我查过了保存大数字等其他帖子.人们说"它不是"1.67E + 12格式",它只是不会完全使用默认值打印.R正好读它,整个数字就在那里." 但是当我试图对它们做一些算术运算时,这是不对的.例如:
test[1,8]
[1] 1.32681e+12
test[2,8]
[1] 1.32681e+12
test[2,8]-test[1,8]
[1] 0
Run Code Online (Sandbox Code Playgroud)
但我知道他们是不同的数字!