質問

nunitを使用して特定の文化の出力(通貨のフォーマット)をテストしますが、次の結果が得られています。

  Fail: Formatting currency amount
  String lengths are both 11. Strings differ at index 2.
  Expected: "12 765,87 €"
  But was:  "12 765,87 €"
  -------------^

文字列の違いはわかりません。期待される結果は、「スペース」文字を使用します。

受け入れられた結果に入れることができる別のスペースキャラクターはありますか?

ちなみに、テストされた培養物はFR-FRです。

編集:アダムに感謝します。ユニコード文字をお楽しみいただけます。予想される結果を変更しましたが、これで各ユニットテストが合格しました。

役に立ちましたか?

解決

それらは異なるタイプのスペースである可能性があります。 Unicodeには多くの違いがあります スペース文字. 。文字を整数にキャストして答えを得ることにより、インデックス2のコードポイントを見てください。

編集

あなたのコメントに応えて、コードポイント160は 非壊れたスペース. 。あなたはできる 直接入力してください ソースコード(Windowsの数値キーパッドのAlt+0160など)に、またはエスケープシーケンスを使用します。

// U+20AC is the Unicode code point for the euro sign
string expected = "12\u00A0765,87 \u20AC";

他のヒント

おそらく、それは空白であるが、スペースではなく、ラベルなどを避けるためのスペースではないキャラクターである可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top