我正在将我用Java编写的算法转换为Objective-C.在java中,BigDecimal类处理基数为10的数字,并且可以将原始double作为构造函数arg.但是,在Cocoa的NSDecimalNumber类中,没有使用基本double构造实例的直接方法.
目前我正在使用这个(臭臭)黑客:
[NSDecimalNumber decimalNumberWithString:[NSString stringWithFormat:@"%1.38f", number]];
有没有更好的办法?
NSNumber是NSDecimalNumber的超类,它有一个+ numberWithDouble:方法.那正是你想要的.
你也可以使用[[NSDecimalNumber alloc] initWithDouble:(double)]
,它不是那么明显.