gpt4 book ai didi

ios - 类型转换,为什么这么冗长?还是我做错了什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:48 25 4
gpt4 key购买 nike

我有一个 NSDecimalNumber 和一个 NSInteger。我想将前者乘以后者,所以我必须转换整数。这是我在反复试验后得出的结论。

NSDecimalNumber *factor = (NSDecimalNumber*) [NSDecimalNumber numberWithInteger:myInteger];

感觉就像我真的把重点带回家了:

  1. 你好,我想要一个 NSDecimalNumber,我们称它为 factor
  2. 顺便说一下,如果可能的话,我希望它是一个 NSDecimalNumber。
  3. 那么你能给我一个 NSDecimalNumber 吗?在这里,我会给你一个整数作为来源。

有必要这么详细吗?或者我搞砸了什么地方?

最佳答案

(NSDecimalNumber*) 类型转换是“必要的”,因为 +numberWithInteger: 是一个返回 NSNumber 方法NSNumber 对象。然而,这实际上会导致问题,因为它返回一个 NSNumber 对象,不是 NSDecimalNumber。 ( How to use NSDecimalNumber? )

要将整数转换为十进制数,只需执行以下操作:

NSDecimalNumber *factor = [NSDecimalNumber decimalNumberWithDecimal: [@(myInteger) decimalValue]];

它仍然相当冗长,但要记住两点:

  • Objective-C 设计得很冗长。
  • NSDecimalNumber 并非用于基本整数运算,而是用于通常使用科学记数法表示的数字。

关于ios - 类型转换,为什么这么冗长?还是我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com