0

文字列をfloatに変換する必要がありますが、'1234,5'or'1234.5'または'1 234,5'orなどのさまざまな入力文字列形式が存在する可能性があります'1,234.5'。また、事前に取得するデータがわからない場合があるため、ロケールの10進ポインターまたは千単位の区切り文字を変更できません。

どのロケールが使用されているかを知らなくても、この種のロケール固有の値を解析してフロートに変換する方法、メソッド、またはライブラリはありますか?

PS日付に関する同じ問題の解決策はありますか?

TIA。

4

1 に答える 1

0

どの文字が千単位の区切り文字で、どの文字が小数点であるかについて、いくつかの仮定を立てることができます。ただし、何をするのかを確実に知ることができない場合があります。

  • .またはである最後の文字を探し,ます。複数回発生する場合、数値には小数点がなく、その文字は千単位の区切り文字です
  • 文字列にそれぞれが1つだけ含まれている場合、最後の1つが小数点になります
  • 文字列にポイント/カンマが1つしかない場合は、ほとんど運が悪いです。123.456または、数字または。123,456である可能性があります。ただし、次のような数値(つまり、潜在的な千の区切り記号の後の桁数が3の倍数ではない)を使用すると、小数点であると見なすことができます。123456123.456123.45
于 2012-04-24T09:49:01.127 に答える