无法从R中2个整数的除法中获得所需的输出精度

无法从R中2个整数的除法中获得所需的输出精度,r,R,Iam除以R中的两个数字。分子是一个大整数(百万范围)除以13.00001 它将13.000001作为13,并且输出仅限于小数点后1位。 我要求输出是正常的2位小数,这是没有发生。 我尝试了round、format和as.numeric,但没有结果 round没有给出任何东西(round(除数,1) 格式(nsmall=2)使其最多保留2位小数,但将其转换为字符 as.numeric将其从字符中重新转换,但小数点后2位替换为小数点后1位 当我用13.000001这样的数字除以一个整数时,有没有办

Iam除以R中的两个数字。分子是一个大整数(百万范围)除以13.00001 它将13.000001作为13,并且输出仅限于小数点后1位。 我要求输出是正常的2位小数,这是没有发生。 我尝试了round、format和as.numeric,但没有结果 round没有给出任何东西(round(除数,1) 格式(nsmall=2)使其最多保留2位小数,但将其转换为字符 as.numeric将其从字符中重新转换,但小数点后2位替换为小数点后1位
当我用13.000001这样的数字除以一个整数时,有没有办法得到2位小数?

小心不要将输出与内部精度混淆:

x <- 13e7/13.000001

sprintf("%10.20f",x)
#[1] "9999999.23076928965747356415"

sprintf("%10.10f",x*13)
#[1] "129999990.0000007600"

sprintf("%10.10f",x*13.000001)
#[1] "129999999.9999999851"

x注意不要将输出与内部精度混淆:

x <- 13e7/13.000001

sprintf("%10.20f",x)
#[1] "9999999.23076928965747356415"

sprintf("%10.10f",x*13)
#[1] "129999990.0000007600"

sprintf("%10.10f",x*13.000001)
#[1] "129999999.9999999851"
x