2016-03-29 5 views
0

24のような数字があり、結果24.0のように返す必要があります。どうすればこれを考えることができますか。2桁の数値をJavaの1桁の10進数にするにはどうすればいいですか

私はこのコードで試していますが、返り値は24です。24.5が正しく動作していれば24が整数のように戻ります。

double sliderValue = Math.round(number*10)/10; 

24.0

+1

値が変更されていないのに役立ちます、それはあなたがそれを表示する方法です。文字列に変換するときは、String.formatまたはDecimal.formatを使用する必要があります。この答えを考えてみましょう。http://stackoverflow.com/a/2538803/2067492 – matt

答えて

2

内部表現の提示。 (System.out.printを使用する場合、例えば、デフォルトで)

24.0の値にdoubleは... 24としてを提示されます。

他の方法は、小数点以下の桁の指定された数と値を表示するために存在する:

double f = 24; 
System.out.printf("%.1f\n", f); // will print 24.0 

あなたはまた、恐らく、特異小数点以下の桁数のためにコードする、代わりBigNumberの使用を検討すべきです24.0024.0とは異なる番号として扱います。

+0

どのように変数に結果を保存することができます。私はそれを印刷したくない –

+0

@EvgeniVelikovあなたのコード_already_は24.0を生成する - それ以外はどう思いますか? – Alnitak

0

を返すことができますどのように誰もが知っているあなたが試すことができます(私はあなたが唯一のコンソールに結果を印刷して、それを参照してくださいすると仮定)

double double1 = Double.valueOf(24); 
double double2 = Double.valueOf(24.5); 

System.out.println(double1); 
System.out.println(double2); 

これは、あなたの出力が得られます。

24.0 
24.5 
0

使ってDecimalFormat

double value = 12.3d; 
DecimalFormat df = new DecimalFormat("#.00"); 
System.out.println(df.format(value)); 
2

あなたは1本

ソリューション試すことができます。 返しダブルを

double value = 12.3457652133 

値= Double.parseDouble(新しいのDecimalFormat( "###") .format(value));

解決策2: それだけでデモ

double Value=i/60000; 
String s = (new DecimalFormat("##.#").format(Value)); 

の文字列

例を返します希望ので、これは

関連する問題