数式展開の解釈がロケールに依存している
printf コマンドの引数の解釈法についても要検討
数式展開の解釈は、C の式に従う。
printf コマンドは、引数は C の定数として解釈し、出力は LC_NUMERIC に従う。
printf コマンドでの小数の解釈は、POSIX 2001 では C の定数として解釈することになっているが、POSIX 2008 では単に strtod を使うとされている。
c1628 で対応。
数式展開における浮動小数点数は、必ず C ロケールで解析するようにした。数式展開の数式は基本的に C の式に倣っているので、常に C の式と同じように解釈するのがよいと思われるため。
printf 組込みにおける小数は、POSIX 2008 に従い、単純に strtod で解釈する (従来の実装どおり)。
数式展開における数字の解釈がロケールに依存しているため、同じ数式がロケールによって異なった結果を返すことがある。この問題について POSIX の規定を再確認し、必要に応じて修正を行う。
例えばオランダでは , を小数点として用いるので、"0.2" が小数として解釈されない。