我已经看过这个问题,但没有解决方案。这是问题所在。
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 字符被删除了。猜猜我不应该只依赖调试器日志。