有人可以给我一个如何使用Smalltalk中的printFormat:方法格式化字符串的示例吗?
例如:
'123456789'printFormat:aFormat应返回类似$ 123,456,789.00的内容
答案 0 :(得分:0)
在smalltalk中查找方法用法示例的常用方法是选择它然后搜索发件人。大多数小号(VW,Squeak,Pharo,Dolphin,Amber等)都有键盘快捷键。
如果数字太大,您可能需要查看实现者。
Smalltalk通常几乎没有帮助文本和注释,但是使用特定构造的许多实际代码。
我们尽量避免使用floats in currency calculations。 ScaledDecimals工作得更好,您可能想要创建一个真正的Money类
答案 1 :(得分:0)
[VisualWorks中] 请参阅Class NumberPrintPolicy。这堂课有很好的评论。 在您的情况下,解决方案可能如下:
(NumberPrintPolicy defaultInstance)
thousandsSeparator: $,;
decimalPoint: $..
NumberPrintPolicy print: 123456789 using: '$#,###.00'
我更改了千位分隔符和十进制数,因为我在VisualWorks上有默认的俄语语言环境,其他值为thousandsSeparator和decimalPoint。