0

Can someone please give me an example of how to use the printFormat: method in Smalltalk to format a string?

Eg:

'123456789' printFormat: aFormat should return something like $123,456,789.00

4

2 回答 2

0

[VIsualWorks] 请参阅 Class NumberPrintPolicy。这堂课有很好的评论。在您的情况下,解决方案可能如下:

(NumberPrintPolicy defaultInstance)
    thousandsSeparator: $,;
    decimalPoint: $..
NumberPrintPolicy print: 123456789 using: '$#,###.00'

我更改了数千个分隔符和小数点,因为我在 VisualWorks 有默认的俄语语言环境,而另一个值是千位分隔符和小数点。

于 2013-11-11T13:15:27.520 回答
0

在 smalltalk 中查找方法使用示例的常规方法是选择它,然后搜索发件人。大多数 smalltalks(VW、Squeak、Pharo、Dolphin、Amber 等)都有一个键盘快捷键。

如果数量太大,您可能需要查看实施者。

Smalltalk 通常很少有帮助文本和注释,但有很多使用特定结构的真实代码。

我们尽量避免在货币计算中使用浮点数。ScaledDecimals 工作得更好,你可能想创建一个真正的 Money 类

于 2013-11-11T13:05:30.163 回答