0

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

10001 Lumia 900        3     $450.00   $1350.00

int当我使用: , string, int, double,遍历自定义对象的数组列表时,这需要使用不同长度的字符串进行格式化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();

它现在格式正确,但我仍然不确定如何获得double2 位小数的 to 格式。

4

2 回答 2

1

试试这个

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

自定义数字格式字符串

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

于 2013-04-12T03:34:09.643 回答
0

一致的空白

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

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

(编辑...)

或者,您可能需要使用填充值,以便它们具有一致的宽度。例如,您需要取 $20.00 并用空格填充它,以便它与最大长度值($4000.00)对齐。

price:  __$20.00
price:  $4000.00

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

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

四舍五入小数位

inputValue = Math.Round(inputValue, 2);
于 2013-04-12T02:52:22.730 回答