長い数値をゼロで丸め/フォーマットする方法は?

N1njaWTF

さまざまな長い数値があり、それらを正しくフォーマットする関数を作成しようとしています。誰かが私を助けることができますか?

すでに「number_format()」と「round()」を試しましたが、問題は解決しません。

次のように丸めたいと思います。

1024.43  --> 1,024.43  
0.000000931540 --> 0.000000932  
0.003991 --> 0.00399  
0.3241 --> 0.324
1045.3491 --> 1,045.35

つまり、数値が「0」より大きい場合は、小数点以下2桁に丸めて、千の区切り記号(6,554.24など)を追加する必要があります。「1」より小さい場合は、数値がゼロの後に表示されるたびに3桁に丸める必要があります(たとえば、 0.0003219〜0.000322または0.2319〜0.232)

編集:同じことが「-」値にも当てはまるはずです。例えば:

-1024.43  --> -1,024.43  
-0.000000931540 --> -0.000000932  
-0.003991 --> -0.00399  
-0.3241 --> -0.324
-1045.3491 --> -1,045.35
マドゥルバイヤ

https://stackoverflow.com/a/48283297/2469308から適応

  • これは2つの別々のケースで処理してください。
  • -1から1までの数値の場合。丸める桁数を計算する必要があります。そして、number_format()関数を使用して、結果を取得できます。
  • それ以外の場合は、10進数を2に設定してnumber_format()関数を使用するだけです

次のことを試してください。

function customRound($value)
{
   if ($value > -1 && $value < 1) {

       // define the number of significant digits needed
       $digits = 3;

       if ($value >= 0) {

           // calculate the number of decimal places to round to
           $decimalPlaces = $digits - floor(log10($value)) - 1;
       } else {

           $decimalPlaces = $digits - floor(log10($value * -1)) - 1;
       }

       // return the rounded value
       return number_format($value, $decimalPlaces);

   } else {

      // simply use number_format function to show upto 2 decimal places
      return number_format($value, 2);
    } 

    // for the rest of the cases - return the number simply
    return $value;
}

レクステスターデモ

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

RDLCで10進数/丸め数値をフォーマットする方法

分類Dev

SQLServerで先行ゼロを埋めて数値をフォーマットする

分類Dev

先行ゼロで数値をフォーマットするにはどうすればよいですか?

分類Dev

先行ゼロと丸められた小数を使用してdoubleをフォーマットする方法

分類Dev

数値をフォーマットするときにNSStringクラスが一貫性のない丸めをするのはなぜですか?

分類Dev

PHPで先行ゼロを使用して数値をフォーマットする

分類Dev

数値フォーマット関数:5で終わる値を丸めるために使用されるアルゴリズムは何ですか?

分類Dev

JavaScript:丸められた数値をN桁にフォーマットする

分類Dev

.Net-一般的な数値フォーマットはゼロを保持していないようです

分類Dev

Pythonで長い数値を文字列としてフォーマットする

分類Dev

先行ゼロでJava文字列をフォーマットする方法は?

分類Dev

デフォルトのNumDigAfterDecを使用し、丸めなしで数値をフォーマットします

分類Dev

pysparkで数値列をフォーマットする方法は?

分類Dev

PL / SQLで数値をフォーマットする方法は?

分類Dev

10進数をフォーマットして、末尾のゼロではなく、末尾のゼロを表示するにはどうすればよいですか?

分類Dev

数値を先行ゼロの文字列にフォーマットするにはどうすればよいですか?

分類Dev

長い数字をフォーマットする方法は?

分類Dev

フロート値をゼロに丸めるKeraspad_sequences()を回避するにはどうすればよいですか?

分類Dev

ブレードビューで先行ゼロを使用して数値をフォーマットする

分類Dev

パンダで日時をフォーマットするときに末尾のゼロを埋める方法

分類Dev

PHPで長いフォーマット番号を変更する方法は?

分類Dev

Reactで、コンマで数値をフォーマットする方法は?

分類Dev

ロケールに対応した方法で数値をフォーマットするための推奨される方法は?

分類Dev

Python 3の数値フォーマットを使用して、数値を数百、数千などに丸めることができます

分類Dev

長い(> 15文字)数値のフォーマットを保持する

分類Dev

Excelで数値と千を小数でフォーマットする方法は?

分類Dev

数値フロートをコンマとドットでフォーマットする方法

分類Dev

Oracle BIPublisher-先行ゼロが消えないように数値をテキストとしてフォーマットする方法

分類Dev

長い数値をフォーマットすると、PHPは誤った結果を返します

Related 関連記事

  1. 1

    RDLCで10進数/丸め数値をフォーマットする方法

  2. 2

    SQLServerで先行ゼロを埋めて数値をフォーマットする

  3. 3

    先行ゼロで数値をフォーマットするにはどうすればよいですか?

  4. 4

    先行ゼロと丸められた小数を使用してdoubleをフォーマットする方法

  5. 5

    数値をフォーマットするときにNSStringクラスが一貫性のない丸めをするのはなぜですか?

  6. 6

    PHPで先行ゼロを使用して数値をフォーマットする

  7. 7

    数値フォーマット関数:5で終わる値を丸めるために使用されるアルゴリズムは何ですか?

  8. 8

    JavaScript:丸められた数値をN桁にフォーマットする

  9. 9

    .Net-一般的な数値フォーマットはゼロを保持していないようです

  10. 10

    Pythonで長い数値を文字列としてフォーマットする

  11. 11

    先行ゼロでJava文字列をフォーマットする方法は?

  12. 12

    デフォルトのNumDigAfterDecを使用し、丸めなしで数値をフォーマットします

  13. 13

    pysparkで数値列をフォーマットする方法は?

  14. 14

    PL / SQLで数値をフォーマットする方法は?

  15. 15

    10進数をフォーマットして、末尾のゼロではなく、末尾のゼロを表示するにはどうすればよいですか?

  16. 16

    数値を先行ゼロの文字列にフォーマットするにはどうすればよいですか?

  17. 17

    長い数字をフォーマットする方法は?

  18. 18

    フロート値をゼロに丸めるKeraspad_sequences()を回避するにはどうすればよいですか?

  19. 19

    ブレードビューで先行ゼロを使用して数値をフォーマットする

  20. 20

    パンダで日時をフォーマットするときに末尾のゼロを埋める方法

  21. 21

    PHPで長いフォーマット番号を変更する方法は?

  22. 22

    Reactで、コンマで数値をフォーマットする方法は?

  23. 23

    ロケールに対応した方法で数値をフォーマットするための推奨される方法は?

  24. 24

    Python 3の数値フォーマットを使用して、数値を数百、数千などに丸めることができます

  25. 25

    長い(> 15文字)数値のフォーマットを保持する

  26. 26

    Excelで数値と千を小数でフォーマットする方法は?

  27. 27

    数値フロートをコンマとドットでフォーマットする方法

  28. 28

    Oracle BIPublisher-先行ゼロが消えないように数値をテキストとしてフォーマットする方法

  29. 29

    長い数値をフォーマットすると、PHPは誤った結果を返します

ホットタグ

アーカイブ