我如何将 NSString 转换为长值?

发布于 2024-10-24 22:15:47 字数 115 浏览 6 评论 0原文

我有一个值 100023,我已将其放入 NSString 中。

现在我想在包含长参数类型的 Web 服务中传递这个值,那么如何将字符串值转换为长值。

I have one value 100023 and I have taken it in NSString.

Now I want to pass this value in my web service which contains long parameter type so how can I convert string value to long.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

很酷又爱笑 2024-10-31 22:15:47

您可以使用 NSString 方法 intValue longLongValue

You can use NSString methods intValue longLongValue.

柠檬心 2024-10-31 22:15:47

对于像“100023”这样的小数字,使用“longlongvalue”是可以接受的。然而,如果数字位数超过10,则通常将其视为长值的用例。然后,你会遇到这个问题,例如:

String value "86200054340607012013"

吗?

@"86200054340607012013" integerValue or intValue 

你会在打印语句中产生这个

2147483647 

如果你这样做,

@"86200054340607012013" longlongvalue

你会在打印语句中产生这个

9223372036854775807

这对我有用并打印出预期的数字。

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"2394739287439284734723"];
NSLog(@"longlong: %llu", [myNumber longLongValue]);   

For a small number like this "100023", this is acceptable with 'longlongvalue'. However, if the number digits have more than >10 in which commonly regard as the use case for long value. Then, you will run in into this problem, such as:

String value "86200054340607012013"

do

@"86200054340607012013" integerValue or intValue 

you will produce this in the print statement

2147483647 

if you do

@"86200054340607012013" longlongvalue

you will produce this in the print statement

9223372036854775807

This works for me and print out the expected number.

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"2394739287439284734723"];
NSLog(@"longlong: %llu", [myNumber longLongValue]);   
不离久伴 2024-10-31 22:15:47

使用这个:

    yourLong = [yourString longLongValue];

Use this:

    yourLong = [yourString longLongValue];
哭了丶谁疼 2024-10-31 22:15:47

您可以使用 doubleValue 方法来避免丢失精度警告

you can use the doubleValue Method to avoid lose of precision warnings

影子是时光的心 2024-10-31 22:15:47

答案是:

float floatId = [strID floatValue];

The answer is :

float floatId = [strID floatValue];
草莓味的萝莉 2024-10-31 22:15:47

这样做...

long value = [myString longValue]

Do this...

long value = [myString longValue]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文