HandyJSON
HandyJSON copied to clipboard
从后台接收到的数据 NSNumber(35189664246870017)前端通过String 接收 模型转换之后打印字符串的值为35189664246870016
非常紧急 希望看到回复一下
自己测试 35189664246870015 解析后打印值还是 35189664246870016 35189664246870010 解析后打印值还是 35189664246870008
35189664246870018解析后打印值是 35189664246870016 35189664246870019解析后打印值是 35189664246870020 35189664246870011解析后打印值是 35189664246870012 35189664246870013解析后打印值是 35189664246870012 35189664246870014解析后打印值是 35189664246870016 35189664246870016解析后打印值是 35189664246870016
服务端传输给客户端肯定是字符串的形式,你也说是用字符串接收的,字符串接收字符串不可能值不对。你检查一下自己代码吧,是不是哪里自己做了转换
On Mon, Jun 1, 2020 at 13:04 focus-ming [email protected] wrote:
35189664246870018解析后打印值是 35189664246870016 35189664246870019解析后打印值是 35189664246870020 35189664246870011解析后打印值是 35189664246870012 35189664246870013解析后打印值是 35189664246870012 35189664246870014解析后打印值是 35189664246870016 35189664246870016解析后打印值是 35189664246870016
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/alibaba/HandyJSON/issues/382#issuecomment-636614421, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QOHIL5HRHUFFNFIBMDRUMZENANCNFSM4NPP3FUA .
服务端传输给客户端肯定是字符串的形式,你也说是用字符串接收的,字符串接收字符串不可能值不对。你检查一下自己代码吧,是不是哪里自己做了转换 … On Mon, Jun 1, 2020 at 13:04 focus-ming @.***> wrote: 35189664246870018解析后打印值是 35189664246870016 35189664246870019解析后打印值是 35189664246870020 35189664246870011解析后打印值是 35189664246870012 35189664246870013解析后打印值是 35189664246870012 35189664246870014解析后打印值是 35189664246870016 35189664246870016解析后打印值是 35189664246870016 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#382 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QOHIL5HRHUFFNFIBMDRUMZENANCNFSM4NPP3FUA .
服务端返回的是数字 我用字符串接收的
测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088
数字就用数字接收啊,你用 int64 接收就行了吧
On Mon, Jun 1, 2020 at 13:28 focus-ming [email protected] wrote:
测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alibaba/HandyJSON/issues/382#issuecomment-636620636, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QNGYZAGLV2J7Q22EMDRUM4AJANCNFSM4NPP3FUA .
数字就用数字接收啊,你用 int64 接收就行了吧 … On Mon, Jun 1, 2020 at 13:28 focus-ming @.***> wrote: 测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QNGYZAGLV2J7Q22EMDRUM4AJANCNFSM4NPP3FUA .
Handyjson 是支持string接收数字的 如果不支持 我也不会这么用的。类型匹配的接收是没问题的,现在我提的issues也很明确指出数字转字符串这种情况。
理论上确实支持自动转换,我只是看你挺急的想快点帮你解决问题。 那你提供一个可复现的 demo 吧。
On Mon, Jun 1, 2020 at 13:36 focus-ming [email protected] wrote:
数字就用数字接收啊,你用 int64 接收就行了吧 … <#m_-2787293337902544662_> On Mon, Jun 1, 2020 at 13:28 focus-ming @.***> wrote: 测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment) https://github.com/alibaba/HandyJSON/issues/382#issuecomment-636620636>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QNGYZAGLV2J7Q22EMDRUM4AJANCNFSM4NPP3FUA .
Handyjson 是支持string接收数字的 如果不支持 我也不会这么用的。类型匹配的接收是没问题的,现在我提的issues也很明确指出数字转字符串这种情况。
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alibaba/HandyJSON/issues/382#issuecomment-636622887, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QO5S322B3RBYXIYO5DRUM46BANCNFSM4NPP3FUA .
理论上确实支持自动转换,我只是看你挺急的想快点帮你解决问题。 那你提供一个可复现的 demo 吧。 … On Mon, Jun 1, 2020 at 13:36 focus-ming @.> wrote: 数字就用数字接收啊,你用 int64 接收就行了吧 … <#m_-2787293337902544662_> On Mon, Jun 1, 2020 at 13:28 focus-ming @.> wrote: 测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment) <#382 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QNGYZAGLV2J7Q22EMDRUM4AJANCNFSM4NPP3FUA . Handyjson 是支持string接收数字的 如果不支持 我也不会这么用的。类型匹配的接收是没问题的,现在我提的issues也很明确指出数字转字符串这种情况。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QO5S322B3RBYXIYO5DRUM46BANCNFSM4NPP3FUA .
import UIKit class testModel: MFBaseModel { var test: String = "" }
class TestViewController: UIViewController { @IBOutlet weak var testView: UITextView! override func viewDidLoad() { super.viewDidLoad() for i in 35189664246870000...35189664246870090 { let dic = ["test": i] let str = dic.jsonString() let model = testModel.deserialize(from: str) if i != model?.test.int ?? 0 { testView.text.append("解析前的值为:(i)\n 解析后的值为(model?.test.int ?? 0)\n") } } }
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
理论上确实支持自动转换,我只是看你挺急的想快点帮你解决问题。 那你提供一个可复现的 demo 吧。 … On Mon, Jun 1, 2020 at 13:36 focus-ming @.> wrote: 数字就用数字接收啊,你用 int64 接收就行了吧 … <#m_-2787293337902544662_> On Mon, Jun 1, 2020 at 13:28 focus-ming @.> wrote: 测试了35189664246870000到35189664246870090之前的数字 不一致的有这么多 解析前的值为:35189664246870001 解析后的值为35189664246870000 解析前的值为:35189664246870002 解析后的值为35189664246870000 解析前的值为:35189664246870003 解析后的值为35189664246870004 解析前的值为:35189664246870005 解析后的值为35189664246870004 解析前的值为:35189664246870006 解析后的值为35189664246870008 解析前的值为:35189664246870007 解析后的值为35189664246870008 解析前的值为:35189664246870009 解析后的值为35189664246870008 解析前的值为:35189664246870010 解析后的值为35189664246870008 解析前的值为:35189664246870011 解析后的值为35189664246870012 解析前的值为:35189664246870013 解析后的值为35189664246870012 解析前的值为:35189664246870014 解析后的值为35189664246870016 解析前的值为:35189664246870015 解析后的值为35189664246870016 解析前的值为:35189664246870017 解析后的值为35189664246870016 解析前的值为:35189664246870018 解析后的值为35189664246870016 解析前的值为:35189664246870019 解析后的值为35189664246870020 解析前的值为:35189664246870021 解析后的值为35189664246870020 解析前的值为:35189664246870022 解析后的值为35189664246870024 解析前的值为:35189664246870023 解析后的值为35189664246870024 解析前的值为:35189664246870025 解析后的值为35189664246870024 解析前的值为:35189664246870026 解析后的值为35189664246870024 解析前的值为:35189664246870027 解析后的值为35189664246870028 解析前的值为:35189664246870029 解析后的值为35189664246870028 解析前的值为:35189664246870030 解析后的值为35189664246870032 解析前的值为:35189664246870031 解析后的值为35189664246870032 解析前的值为:35189664246870033 解析后的值为35189664246870032 解析前的值为:35189664246870034 解析后的值为35189664246870032 解析前的值为:35189664246870035 解析后的值为35189664246870036 解析前的值为:35189664246870037 解析后的值为35189664246870036 解析前的值为:35189664246870038 解析后的值为35189664246870040 解析前的值为:35189664246870039 解析后的值为35189664246870040 解析前的值为:35189664246870041 解析后的值为35189664246870040 解析前的值为:35189664246870042 解析后的值为35189664246870040 解析前的值为:35189664246870043 解析后的值为35189664246870044 解析前的值为:35189664246870045 解析后的值为35189664246870044 解析前的值为:35189664246870046 解析后的值为35189664246870048 解析前的值为:35189664246870047 解析后的值为35189664246870048 解析前的值为:35189664246870049 解析后的值为35189664246870048 解析前的值为:35189664246870050 解析后的值为35189664246870048 解析前的值为:35189664246870051 解析后的值为35189664246870052 解析前的值为:35189664246870053 解析后的值为35189664246870052 解析前的值为:35189664246870054 解析后的值为35189664246870056 解析前的值为:35189664246870055 解析后的值为35189664246870056 解析前的值为:35189664246870057 解析后的值为35189664246870056 解析前的值为:35189664246870058 解析后的值为35189664246870056 解析前的值为:35189664246870059 解析后的值为35189664246870060 解析前的值为:35189664246870061 解析后的值为35189664246870060 解析前的值为:35189664246870062 解析后的值为35189664246870064 解析前的值为:35189664246870063 解析后的值为35189664246870064 解析前的值为:35189664246870065 解析后的值为35189664246870064 解析前的值为:35189664246870066 解析后的值为35189664246870064 解析前的值为:35189664246870067 解析后的值为35189664246870068 解析前的值为:35189664246870069 解析后的值为35189664246870068 解析前的值为:35189664246870070 解析后的值为35189664246870072 解析前的值为:35189664246870071 解析后的值为35189664246870072 解析前的值为:35189664246870073 解析后的值为35189664246870072 解析前的值为:35189664246870074 解析后的值为35189664246870072 解析前的值为:35189664246870075 解析后的值为35189664246870076 解析前的值为:35189664246870077 解析后的值为35189664246870076 解析前的值为:35189664246870078 解析后的值为35189664246870080 解析前的值为:35189664246870079 解析后的值为35189664246870080 解析前的值为:35189664246870081 解析后的值为35189664246870080 解析前的值为:35189664246870082 解析后的值为35189664246870080 解析前的值为:35189664246870083 解析后的值为35189664246870084 解析前的值为:35189664246870085 解析后的值为35189664246870084 解析前的值为:35189664246870086 解析后的值为35189664246870088 解析前的值为:35189664246870087 解析后的值为35189664246870088 解析前的值为:35189664246870089 解析后的值为35189664246870088 解析前的值为:35189664246870090 解析后的值为35189664246870088 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment) <#382 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QNGYZAGLV2J7Q22EMDRUM4AJANCNFSM4NPP3FUA . Handyjson 是支持string接收数字的 如果不支持 我也不会这么用的。类型匹配的接收是没问题的,现在我提的issues也很明确指出数字转字符串这种情况。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#382 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOL2QO5S322B3RBYXIYO5DRUM46BANCNFSM4NPP3FUA .
感谢老哥。
你好 昨天经过测试基本断定NumberFormatter 在17位转换时 苹果的Bug 出现这个问题为以下方法的 中的这句:formatter.string(from: num) extension String: _BuiltInBasicType {
static func _transform(from object: Any) -> String? {
switch object {
case let str as String:
return str
case let num as NSNumber:
// Boolean Type Inside
if NSStringFromClass(type(of: num)) == "__NSCFBoolean" {
if num.boolValue {
return "true"
} else {
return "false"
}
}
return formatter.string(from: num)
case _ as NSNull:
return nil
default:
return "\(object)"
}
}
func _plainValue() -> Any? {
return self
}
}
希望作者能够换掉NumberFormatter的方式 以解决这个问题
转为 Decimal 后再转换即可。
let num: NSNumber = NSNumber(value: 35189664246870009) let d1 = Decimal(num.int64Value) print(formatter.string(from: d1 as NSNumber))
NSNumberFormatter 内部会使用双精度浮点数来进行转换,而浮点数是无法精确表示大部分实数的