0

私は2台のコンピュータを持っています:

サーバー:

  • セントス。

PC 開発者:

  • ウィンドウズXP

両方:

  • アパッチ
  • PHP5.3
  • 同じ BD に接続します。

私のテーブルには数値列があります。PHPで数値列を出力すると、出力は次のようになります。

サーバー:

12.244
12.890

パソコン開発者

12,244
12,890

PC 開発者にドットを小数点として印刷してもらいたいのですが、その方法がわかりません。

どちらも php.ini ( datatimezone ) と pc developer で同じ構成を持ち、小数点区切りのデフォルト構成はドット ( .) です。あなたが私を助けてくれることを願っています。ありがとう。

4

1 に答える 1

0

nls_numeric_characters初期化パラメータから導出された数値文字(小数点およびグループ区切り文字) 。初期化パラメーターから派生したそのデフォルト値、nls_territoryおよび初期化パラメーターのデフォルト値は、オペレーティング システムによって異なります。Linux/Unix または Windows オペレーティング システムの環境変数またはレジストリ エントリnls_territoryからそれぞれ派生します。NLS_LANG

nls_numeric_charactersインスタンス全体、セッション全体、またはステートメント全体のニーズに応じて、初期化パラメーターのデフォルト値をオーバーライドできます。簡単な例を次に示します。

/* current value:  , (comma) as decimal separator and 
                   . (period) as group separator and 
 */
SQL> show parameter nls_numeric_characters

NAME                                 TYPE        VALUE 
------------------------------------ ----------- -------------
nls_numeric_characters               string      ,.  


SQL> with t1(col) as(
  2    select 1.23 from dual union all
  3    select 234.43 from dual
  4  )
  5  select col
  6    from t1;

       COL  
----------          
      1,23        
    234,43                 

セッション全体:

/* set . (period) as decimal separator and 
       , (comma) as group separator */  
SQL> alter session set nls_numeric_characters='.,';

Session altered.

SQL> with t1(col) as(
  2    select 1.23 from dual union all
  3    select 234.43 from dual
  4  )
  5  select col 
  6    from t1;

       COL                       
----------                    
      1.23                   
    234.43 

ステートメント全体。この状況では、to_char()関数を使用して数値形式モデルを提供する必要があります。

SQL> with t1(col) as(
  2    select 1.23 from dual union all
  3    select 234.43 from dual
  4  )
  5  select to_char(col, '990d00', q'[nls_numeric_characters='.,']') as res
  6       , col
  7    from t1;


RES            COL   
------- ---------- 
   1.23       1,23 
 234.43     234,43    
于 2013-11-29T19:06:20.143 に答える