以下の数値をJavaでそれらの隣の数値にフォーマットしたいと思います。 1000 to 1k 5821 to 5.8k 10500 to 10k 101800 to 101k 2000000 to 2m 7800000 to 7.8m 92150000 to 92m 123200000 to 123m 右側の数字は長いか整数で、左側の数字は文字列になります。私はこれにどのように取り組むべきですか?私はすでにこれのためにほとんどアルゴリズムをしていませんでしたが、それでより良い仕事をする何かがすでに発明されているかもしれないと思いました、そして私が数十億と数兆を扱い始めれば追加のテストを必要としません:) 追加要件: 形式は最大4文字にする必要があります 上記の意味は、1.1kは大丈夫です11.2kは大丈夫ではありません。同じ7.8mは問題ありません19.1mは問題ありません。小数点を持つことができるのは、小数点の前の1桁のみです。小数点の前の2桁は、小数点の後の数字ではないことを意味します。 丸めは必要ありません。(kとmが追加されて表示される数値は、正確なロジックの記事ではなく、近似を示すアナログゲージの数値です。したがって、主に変数の性質により、キャッシュされた結果を見ているときにも数桁が増減する可能性があるため、丸めは無関係です。)
文字列として与えられた次の数値をフォーマットする最良の方法は何ですか? String number = "1000500000.574" //assume my value will always be a String これを次の値を持つ文字列にしたい: 1,000,500,000.57 それをどのようにフォーマットできますか?
私は2,299.00文字列を持ち、それを数値に解析しようとしています。を使用してみましたがparseFloat、結果は2になりました。コンマが問題だと思いますが、この問題を正しい方法で解決するにはどうすればよいですか?カンマを削除しますか? var x = parseFloat("2,299.00") alert(x); コードスニペットを実行する結果を非表示スニペットを展開