簡體   English   中英

如何在NSNumber上做數學

[英]How to do math on NSNumber

我試圖讀取傳感器並將其顯示為百分比。 [某些值]將始終介於0和1之間。

這是我的代碼:

NSNumber *reading = [some value];
reading = [reading floatValue] * 100;

但是,我得到“從不兼容的類型float分配給NSNumber * _strong”

我是新工作的NSNumber對象,並且很難理解如何以用戶的百分比顯示我的傳感器讀數。 例如:75%

謝謝你的幫助

你需要使用整數或浮點值來存儲它在NSNumber中,

如:

NSNumber *reading = @(10.123);
reading = @([reading floatValue] * 100);

在此之后,您可以將其打印/轉換為字符串:

NSString *display=[NSString stringWithFormat:@"%@%%",reading];

注意%%雙倍百分比符號

您應該首先將值保留在float中,並且需要從中創建NSNumber。

NSNumber *reading = [NSNumber numberWithFloat:someValue];
float newNum = [reading floatValue] * 100;
reading = [NSNumber numberWithFloat:newNum];

我不喜歡寫多行代碼,因為我對多行代碼編寫有點懶惰。 我一直在尋找壓縮解決方案。 請在下面找到以下解決方案。

 float testValue=5.00032;
    NSString *resultValue=[NSString stringWithFormat:@"%@%%",[NSNumber numberWithFloat:(testValue*100)]];

以上解決方案是浮動值。 如果要將輸入作為整數值提供,請將“numberWithFloat”替換為“numberWithInt”。

我希望這個解決方案能幫到你。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM