我想使用逗号作为千位分隔符将数字转换为字符串。就像是:
x = 120501231.21;
str = sprintf('%0.0f', x);
但随着效果
str = '120,501,231.21'
如果内置fprintf
/sprintf
做不到,我想可以使用正则表达式来实现很酷的解决方案,也许可以通过调用Java(我假设它有一些基于区域设置的格式化程序),或者使用基本的字符串插入操作。但是,我不是 Matlab 正则表达式或从 Matlab 调用 Java 方面的专家。
相关问题: 如何打印带有千位分隔符的浮点数Python https://stackoverflow.com/questions/13082620/how-can-i-print-a-float-with-thousands-separators?
有没有既定的方法可以做到这一点Matlab?
使用千位分隔符格式化数字的一种方法是调用 Java 区域设置感知格式化程序。这 ”格式化数字 http://undocumentedmatlab.com/blog/formatting-numbers/“Undocumented Matlab”博客中的文章解释了如何执行此操作:
>> nf = java.text.DecimalFormat;
>> str = char(nf.format(1234567.890123))
str =
1,234,567.89
哪里的char(…)
将 Java 字符串转换为 Matlab 字符串。
voilà!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)