首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这两个字符串有什么区别?

这两个字符串有什么区别?
EN

Stack Overflow用户
提问于 2009-04-25 13:01:24
回答 2查看 590关注 0票数 1

使用nUnit测试特定区域性的输出(货币格式),但我们将得到以下结果。

代码语言:javascript
复制
  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。

编辑:谢谢Adam,你的unicode字符说得很对。我们已经改变了预期的结果,现在每个单元测试都通过了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-25 13:03:49

它们可能是不同类型的空间。Unicode有很多不同的space characters。通过将字符转换为整数来查看索引2处的代码点,以获得您的答案。

编辑

作为对您的评论的回应,代码点160是一个non-breaking space。你可以使用enter it directly进入你的源代码(例如Windows上的数字键盘上的Alt+0160 ),或者使用转义序列:

代码语言:javascript
复制
// U+20AC is the Unicode code point for the euro sign
string expected = "12\u00A0765,87 \u20AC";
票数 5
EN

Stack Overflow用户

发布于 2009-04-25 13:14:10

它很可能是一个空白字符,而不是空格,以避免标签等,以便在启用自动换行时将数字拆分为两部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/788882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档