regex - 如何在 Matlab 中打印带有千位分隔符的整数?

标签 regex matlab

我想使用逗号作为千位分隔符将数字转换为字符串。像这样的东西:

x = 120501231.21;
str = sprintf('%0.0f', x);

但有效果

str = '120,501,231.21' 

如果内置的 fprintf/sprintf 不能做到这一点,我想可以使用正则表达式来做出很酷的解决方案,也许通过调用 Java(我假设有一些基于语言环境的格式化程序),或者有一个基本的字符串插入操作。但是,我不是 Matlab 正则表达式或从 Matlab 调用 Java 方面的专家。

相关问题: How can I print a float with thousands separators in Python

Matlab 中是否有任何既定的方法可以做到这一点?

最佳答案

用千位分隔符格式化数字的一种方法是调用 Java 语言环境感知格式化程序。 “Undocumented Matlab”博客中的“formatting numbers”文章解释了如何执行此操作:

>> nf = java.text.DecimalFormat;
>> str = char(nf.format(1234567.890123))

str =

1,234,567.89     

其中 char(...) 将 Java 字符串转换为 Matlab 字符串。

瞧!

关于regex - 如何在 Matlab 中打印带有千位分隔符的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13512710/

相关文章:

java - 使用 String#split() 分割表达式

Python:用于识别与模式匹配的所有子文件夹的函数

php - 在php/regex中解析表内容并通过td获取结果

arrays - 在matlab中计算3D点对的欧几里得距离

matlab - 长时间记录时如何停止跳过数据?

matlab - 如何处理Matlab中Kruskal-Wallis检验中的缺失值?

regex - 当字符串列包含行尾字符时,Snowflake regexp_like 会中断

java - Pattern.split 比 String.split 慢

matlab - 加速迭代 - MATLAB

Matlab 到 Julia 优化 : Function in JuMP @SetNLObjective