使用toString格式化,以便获得各种图表

时间:2013-04-12 02:40:07

标签: c# java formatting tostring

我正在尝试制作一个格式如下的toString方法:

10001 Lumia 900        3     $450.00   $1350.00

当我使用:intstringintdouble,{迭代自定义对象的arraylist时,需要使用不同长度的字符串格式化这样的格式{1}}。

但是我不知道如何格式化返回的字符串,使它总是看起来像这样,每个东西都在它自己的小列中。还不确定如何将标准双重格式从double转换为0.0。,

我想出的最好的是:

0.00

它现在格式正确,但我仍然不确定如何让return "\t" + this.item.getSKU()+ "\t" + this.item.getDesc() +"\t\t" + this.getQuantity() + "\t" + this.item.getPrice() + "\t" + this.getExtensionPrice(); 格式化为2位小数。

2 个答案:

答案 0 :(得分:1)

试试这个

this.item.getPrice().ToString("$#,0.00");

自定义数字格式字符串

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

答案 1 :(得分:0)

一致的空白

您可以避免使用常规空格并使用制表符分隔符\t

return "SKU:\t" + this.item.getSKU() + "\t\t" + "Price:\t" + this.item.getPrice();

(编辑...)

或者,您可能需要求助于填充值,以使它们具有一致性 宽度。例如,你需要花费20美元并用空格填充这个空间 它与最大的加长值($ 4000.00)对齐。

price:  __$20.00
price:  $4000.00

...下划线表示添加的空格。

这可以通过首先循环所有元素来实现 找到所有元素子组的最长长度。一旦你有了 已知的最大长度,你可以填充剩余的元素 差。

舍入小数位

inputValue = Math.Round(inputValue, 2);