Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSJSONSerialization输出数作为浮点?_Ios_Cocoa_Foundation_Nsjsonserialization - Fatal编程技术网

Ios NSJSONSerialization输出数作为浮点?

Ios NSJSONSerialization输出数作为浮点?,ios,cocoa,foundation,nsjsonserialization,Ios,Cocoa,Foundation,Nsjsonserialization,我正在使用NSJSONSerialization将字典转换为JSON 如果我在字典中包含一个NSDecimalNumber(=0),它将输出为0。这是错误的0是一个int。我需要它作为0.0输出 这就是我正在做的: NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithFloat:0.0f]; // when fed into NSJSONSerialization it outputs as 0 有没有办法输出为0.0 还是我

我正在使用
NSJSONSerialization
将字典转换为JSON

如果我在字典中包含一个NSDecimalNumber(=0),它将输出为
0
。这是错误的
0
是一个int。我需要它作为
0.0
输出

这就是我正在做的:

NSDecimalNumber *decimal = [[NSDecimalNumber alloc] initWithFloat:0.0f];
// when fed into NSJSONSerialization it outputs as 0
有没有办法输出为
0.0


还是我的假设不正确?
0
是有效的浮动吗

无法影响
NSJSONSerialization
输出数字的方式。但你真的不应该为此担心。JSON不区分不同类型的数字,因此无论使用什么类型的数字进行计算,您都应该接受带小数点和不带小数点的数字。

尽管在Objective-C编程语言中,
0
不被视为类型
float
的常量,这绝对是一个有效的浮点数。由于JSON将事物编码为名称-值对,没有类型信息,因此由接收方决定反序列化字段的最终类型