2009-09-07 62 views
0

在我的代码有该设置一些JTextFields将格式(钱)用的setText(将String.valueOf)

fields[7].setText(String.valueOf(inv.get(currentDisplay).feeValue())); 

这个工作,它是做我想要什么,但值的方法调用的一些值这个样子81.65849999999999

我怎么会做出将String.valueOf的输出看起来像

System.out.printf("$%,.2f", getDollarAmount()) 

回答

3

使用this类的正常输出。以下是我认为有助于here的一个示例。下面是来自例子链接代码:

import java.text.NumberFormat; 

public class Mortgage { 
    public static void main(String[] args) { 
    double payment = Math.random() * 1000; 
    System.out.println("Your payment is "); 
    NumberFormat nf = NumberFormat.getCurrencyInstance(); 
    System.out.println(nf.format(payment)); 
    } 
} 

我唯一的警告是,它并做倒圆的 - 有方法,你可以玩到,虽然调整此...

+0

NumberFormat完成了这项工作。谢谢!! – gooddadmike 2009-09-07 01:20:37

+0

乐意帮忙,yw :) – javamonkey79 2009-09-07 16:39:30

1

用途:

locale = Locale.CANADA; 
String str = NumberFormat.getCurrencyInstance(locale).format(123.45); 
//output: $123.45 

备选:

NumberFormat formatter = new DecimalFormat("'$'###.00"); 
String str = formatter.format(getDollarAmount()); 

参考:Formatting a Number Using a Custom Format

+0

我不是加拿大人!!! 感谢您的帮助:) – gooddadmike 2009-09-07 01:30:15