提取小数点右侧的数字

时间:2015-10-14 09:16:28

标签: matlab double

e.g。 x = 12.354

我想从x获得354。为此,我尝试了这个等式,

y = x - floor(x)

但这会产生0.354,这不是我的要求。

那么,我该怎么做呢?

3 个答案:

答案 0 :(得分:2)

应该适用于所有编程语言的通用解决方案是将数字转换为字符串,然后从小数点(或逗号)后面取出子字符串并将其转换为整数。

答案 1 :(得分:2)

@JoachimPileborg指出的通用思想在MATLAB中看起来像这样:

ExpandEnvStrings $0 "%COMSPEC%"
ExecShell "" '"$0"' "/C powershell -ExecutionPolicy Bypass .\script.ps1 -FFFeatureOff" SW_HIDE

答案 2 :(得分:0)

替代(可能更快)到m.s.的答案。请注意' shift'由于这种方法有效地删除了小数点右边的零。

yfoo = 34.00267400;
yfoo = yfoo- floor(yfoo);  % .00267400;
% internal rep of number ignores trailing zeros.
yrab = str2num(strrep(num2str(yfoo),'.','')); %2674