我正在處理.Net核心中的字符串。我有一個使用:n
格式化的字符串,並且在格式化時輸出爲123 456,00
。我想斷言格式化的字符串等於我希望的字符串,但我得到一個Assert.Equal Failure()
,問題在於空格字符。在輸出中它斷言這兩個空間是不同的。如何在常規字符串上打印.NET String.Format空格字符?
這裏是我的代碼:
public void Separator()
{
var str = string.Format("{0:n}", 123456);
Assert.Equal("123 456,00",str);
}
我也比較了格式化字符串與斷言一個普通空格字符空格字符如下Assert.Equal(' ',str[3]);
我得到的預期值是0x00a
。
爲什麼會發生這種情況,如何在不使用string.Format()
的情況下獲得相同的字符?
你想說,'Assert.Equal()''說123 456,00'不等於'123 456,00'?然後你需要在十六進制編輯器中檢查確切的值。或者只是使用一些在線工具來查看是否沒有錯字。嘗試http://r12a.github.io/apps/conversion/ –
是的,我在(pos 3)中得到了區別,這意味着兩個空間不相等。 – Bayrem
你確定這些空間是相同的嗎?請訪問http://r12a.github.io/apps/conversion/ –