【发布时间】:2012-10-26 23:26:04
【问题描述】:
我已经看过this question,但没有解决方案。 这就是问题所在。
po [myNumberFormatter stringFromNumber:myNumber]
输出--> (id) $4 = 1.500,00
p (char) [(NSString *)[myNumberFormatter stringFromNumber:myNumber] characterAtIndex:1]
输出--> (char) $5 = '\xa0'
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingOccurrencesOfString:@"\xa0" withString:@" "]
输出--> (id) $6 = 1.500,00
需要注意的一点是,在屏幕上,值 1.500,00 看起来像 1 500,00。 但是有什么方法可以将字符串中的 '\xa0' 字符转换为 @" " 吗?
以下解决方案已经有效,但它存在将未包含的所有内容转换为空白字符的问题。
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingSequenceOfCharactersInSet:(NSCharacterSet *)[[NSCharacterSet characterSetWithCharactersInString:@"0123456789,."] invertedSet] with:@" "]
编辑 --------------
我试过下面的答案,我认为这是错误的,因为
po [(NSString *)[numberFormatter stringFromNumber:theNumber] stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "]
仍然产生相同的结果( \xa0 字符仍未删除)。但是当我没有把它放在调试器中,而是把它放在代码中的一个 NSString 中时,正确的答案被存储了,\xa0 字符被删除了。我想我不应该只依赖调试器日志。
【问题讨论】:
标签: objective-c cocoa-touch cocoa nsstring