Smalltalk使用printFormat:方法

时间:2013-11-11 09:42:51

标签: smalltalk visualworks gnu-smalltalk

有人可以给我一个如何使用Smalltalk中的printFormat:方法格式化字符串的示例吗?

例如:

'123456789'printFormat:aFormat应返回类似$ 123,456,789.00的内容

2 个答案:

答案 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。