iOS*_*com 0 cocoa cocoa-touch objective-c nsstring
我已经看过这个问题,但没有解决方案.这是问题所在.
po [myNumberFormatter stringFromNumber:myNumber]
Run Code Online (Sandbox Code Playgroud)
输出 - >(id)$ 4 = 1.500,00
p (char) [(NSString *)[myNumberFormatter stringFromNumber:myNumber] characterAtIndex:1]
Run Code Online (Sandbox Code Playgroud)
输出 - >(char)$ 5 ='\ xa0'
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingOccurrencesOfString:@"\xa0" withString:@" "]
Run Code Online (Sandbox Code Playgroud)
输出 - >(id)$ 6 = 1.500,00
有一点需要注意的是,在屏幕上,值1.500,00看起来像1 500,00.但有没有办法将'\ xa0'字符转换为字符串中的@""?
以下解决方案已经有效,但它存在将未包含的所有内容转换为空白字符的问题.
po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingSequenceOfCharactersInSet:(NSCharacterSet *)[[NSCharacterSet characterSetWithCharactersInString:@"0123456789,."] invertedSet] with:@" "]
Run Code Online (Sandbox Code Playgroud)
编辑 --------------
我已经尝试了下面的答案,我认为这是错误的
po [(NSString *)[numberFormatter stringFromNumber:theNumber] stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "]
Run Code Online (Sandbox Code Playgroud)
仍然产生相同的结果(\ xa0 char仍未删除).但是当我没有将它放在调试器中,而是将其放在代码中的NSString中时,存储了正确的答案并删除了\ xa0字符.猜猜我不应该单独依赖调试器日志.
NSString *str = // string to cleanup
str = [str stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "];
Run Code Online (Sandbox Code Playgroud)
\ u00a0将在编译时被替换为实际的不间断空格.
| 归档时间: |
|
| 查看次数: |
2045 次 |
| 最近记录: |