我正在尝试制作一个格式如下的toString方法:
10001 Lumia 900 3 $450.00 $1350.00
当我使用:int
,string
,int
,double
,{迭代自定义对象的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位小数。
答案 0 :(得分:1)
试试这个
this.item.getPrice().ToString("$#,0.00");
自定义数字格式字符串
答案 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);