2016-06-20 2 views
1

数値を整数に(小数点以下を削除して)フォーマットしようとしていますが、値が0より小さい負の数では、 0として表示させる方法はありますか?負の数値丸めのto_charは、ちょうど0ではなく-0になります

select to_char(-0.09,'9,999,999,999,999,990') from dual; 
+0

最初に「ABS」ですか? – zerkms

+0

ですが、変換する値は正または負のどちらでもか、0より大きくても小さくてもかまいません。任意の数値 – iPhoneJavaDev

答えて

4

TO_CHARは数字を書式設定するだけで、切り上げるのではありません。したがって、最初にROUNDを使用し、必要に応じてフォーマットしてください。

select to_char(round(-0.09),'9,999,999,999,999,990') from dual; 
0

小数点以下を削除する場合は、次の解決策を試してください。

SELECT TO_CHAR(TRUNC(-0.09),'9,999,999,999,999,990') FROM DUAL; 

値を丸める場合は、ノエルが提案した解決策を使用してください。理想的には、小数点を削除するだけではなく、値を四捨五入することは論理的です。

関連する問題