【发布时间】:2019-02-22 23:11:08
【问题描述】:
我正在寻找在 C 语言中为货币格式化双精度或长双精度。我想在开头放置一个美元符号,如果需要,放置一个负数,逗号在小数点前每第三个数字迭代,小数点前一个点.到目前为止,我一直在打印这样的数字:
printf("Please enter an amount: $%.2Lf\n", money);
返回类似的东西
Please enter an amount: $123456789.00
数字应该是这样的......
$123,456,789.00
$1,234.56
$123.45
我需要它来处理任何数字。如果答案是实际代码会有所帮助,因为我在编码方面相对较新(大学新生),但我知道这似乎是简单的出路,所以如果有人愿意向我解释并引导我完成,我将不胜感激那个也是。这个问题是我之前在这个网站上提出的,但我需要一些认真的帮助。
谢谢!
【问题讨论】:
-
money是什么类型?是long double吗? -
这是一个难题。大致上,
money应该是double,但我会为任何严肃的程序使用库。 -
我会将
money转换为字符串,然后手动在逗号前每三个字符插入,。我看不到使用printf的简单(可靠)方法。 -
它可以是双精度或长双精度。我们的教授希望我们远离花车,因为这些是我们已经学到的东西。
标签: c formatting