如何获取NSDecimal或NSDecimalNumber的无格式字符串表示形式?

Ano*_*ser 5 string iphone cocoa cocoa-touch

我有一个NSDecimal,需要它作为技术字符串,即没有任何格式化.浮点应该是"." 如果有的话,减号应该只是一个" - ",如果有的话.除此之外,不应该像分组或中文数字那样进行格式化.

我通过SDK寻找了2个小时,但似乎没有什么简单的事情可以做到这一点.有解决方案吗?

Bra*_*son 7

对于NSDecimal,您可以将NSDecimalString与指定的语言环境一起使用:

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *decimalString =  NSDecimalString(&decimalValue, usLocale);
[usLocale release];
Run Code Online (Sandbox Code Playgroud)

美国语言环境使用小数分隔符的句点,没有千位分隔符,所以我相信这将为您提供您正在寻找的那种格式.

正如其他人所指出的,对于NSDecimalNumber,您可以将-descriptionWithLocale:方法与上面指定的美国语言环境一起使用.这不会让你失去任何精确度.