获取整个和小数部分的一个双重
我有这个: 0.8765数字 我想检索整个部分的双重以及小数部分没有0在它的前面。有谁知道我该怎么做? 我已经可以使用fix(A)
获取整个部分。唯一缺少的是小数部分。获取整个和小数部分的一个双重
那么,为什么不只是减法?
A = 1.8345
BeforeComma = num2str(fix(A))
AfterComma = strrep(num2str(A - BeforeComma),['0.'],'')
一点更优雅是使用regexp
A = 1.8345
splittedNumber = regexp(num2str(A),'\.','split')
[BeforeComma, AfterComma] = splittedNumber{:}
A =
1.8345
BeforeComma =
1
AfterComma =
8345
如果你想与数字的预定数量增加一倍,你可以这样做:
A = 1.834512
digits = 4
B = round(A,digits)
splittedNumber = str2double(regexp(num2str(A),'\.','split'));
[BeforeComma, AfterComma] = deal(splittedNumber(1), splittedNumber(2))
'0.8765 - 0' does not quite cut it –
@TonyOkoth所以你想要后来得到字符串? – thewaywewalk
是的,但没有'0。它的前面。所以不仅要得到它,还要把它整体化。 –
--get与修复 WholePart =修复(A)
的wholepart --get小数部分 FractionalPart = A-WholePart
- 转换fractionalpart串 strFractionalPart = num2str(FractionalPart)
--Substring strFractionalPart对于后第2个字符的所有字符“0”。 子(strFractionalPart,3,长度(strFractionalPart)-2)
'0.8765 - 0'犯规相当剪。 –