e.g。 x = 12.354
我想从x获得354。为此,我尝试了这个等式,
y = x - floor(x)
但这会产生0.354,这不是我的要求。
那么,我该怎么做呢?
答案 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