【发布时间】:2016-09-30 19:57:46
【问题描述】:
例如:我有数字 123.456,想返回 456。
函数trunc() 基本上隔离(truncates)小数点之前的数字。
有没有一个函数可以只隔离小数点后的数字?
两个后续问题:
有没有办法在不写出正则表达式的情况下做到这一点?
如果我想保留标志怎么办?例如,如果我想(反向)将 -123.456 截断为 -456。
【问题讨论】:
-
sign(x) * (abs(x) %% 1) -
@Gregor 不会是
x-trunc(x)? -
糟糕,错过了需要一个整数。似乎浮点算术问题等着把你搞砸。很高兴许多答案都在处理这个问题,但将其保留为小数似乎更安全。
-
出于好奇:这有什么用例?
-
@Roland,其实我只需要它来测试是否存在非整数整数。我对如何进一步扩展这个概念很感兴趣,主要是出于好奇。但是,后来我想我无法按照问题的要求提出时尚的方法,所以我问了。
标签: r decimal digit isolation truncated