iOS 浮点数去掉小数点之后的0.00以及价格格式显示

//去掉小数点之后的0;

-(NSString*)removeFloatAllZero:(NSString*)string

{

/**

*  第一种方法

*/

//

//    NSString * testNumber = string;

//    NSString * s = nil;

//    NSInteger offset = testNumber.length - 1;

//    while (offset)

//    {

//        s = [testNumber substringWithRange:NSMakeRange(offset, 1)];

//        if ([s isEqualToString:@"0"] || [s isEqualToString:@"."])

//        {

//            offset--;

//        }

//        else

//        {

//            break;

//        }

//    }

//    NSString * outNumber = [testNumber substringToIndex:offset+1];

//    NSLog(@"%@", outNumber);

//    第二种方法

NSString * testNumber = string;

NSString * outNumber = [NSString
stringWithFormat:@"%@",@(testNumber.floatValue)];

return outNumber;

}

-(NSString*)removeFloatAllZero:(NSString*)string

{

NSString * testNumber = string;

NSString * outNumber = [NSString
stringWithFormat:@"%@",@(testNumber.floatValue)];

//    价格格式化显示

NSNumberFormatter *formatter = [[NSNumberFormatter
alloc]
init];

formatter.numberStyle =
kCFNumberFormatterDecimalStyle;

NSString *formatterString = [formatter
stringFromNumber:[NSNumber
numberWithFloat:[outNumber doubleValue]]];

NSRange range = [formatterString
rangeOfString:@"."];
//现获取要截取的字符串位置

NSLog(@"--------%lu",(unsigned
long)range.length);

if (range.length>0) {

NSString * result = [formatterString
substringFromIndex:range.location];
//截取字符串

if (result.length>=4) {

formatterString=[formatterString
substringToIndex:formatterString.length-1];

}

}

NSLog(@"Formatted number string:%@",formatterString);

NSLog(@"Formatted number string:%@",outNumber);

//   
输出结果为:[1223:403] Formatted number string:123,456,789

return formatterString;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-06 03:33:39

iOS 浮点数去掉小数点之后的0.00以及价格格式显示的相关文章

方法:去掉浮点数小数点最后的0

// 去掉小数末尾的0 cutZero (old) { // 拷贝一份 返回去掉零的新串 old = old.toString() var newstr = old // 循环变量 小数部分长度 var leng = old.length - old.indexOf('.') - 1 // 判断是否有效数 if (old.indexOf('.') > -1) { // 循环小数部分 for (let i = leng; i > 0; i--) { // 循环小数部分 if (newstr.in

SQL去掉小数点有效数字后的所有0

原文:SQL去掉小数点有效数字后的所有0 第一种方法 select cast(2.5000000000000   as  real) select cast(2   as  real) select cast(2.00000   as  real) 第二种方法 CREATE function [dbo].[ClearZero](@inValue varchar(50)) returns varchar(50) as begin declare @returnValue varchar(20) i

Magento的价格去掉小数点

Magento的默认情况,价格后面是有小数点的,我们来看下如何正确的来去掉小数点. 1.复制如下路径的文件 app/code/core/Mage/Directory/Model/Currency.php 到 app\code\local\Mage\Directory\Model\ 文件夹下面,这个文件夹没有自己手动创建下. 2.打开新复制的这个文件 Currency.php 找到如下代码 1 2 3 4 public function format($price, $options=array(

oracle保留小数,例如0.00

Oracle小数点保留问题 2013-03-03 11:45:49     我来说两句      作者:shm2008520 收藏    我要投稿 Oracle小数点保留问题 如果你在实际应用中需要使用到Oracle小数点保留的问题的话,其实方法很简单我们只用round即可实现(round(_data,2)  ),但是如果其格式不工整的话,你就可以使用round即可,以下是网络搜索到的处理方法: www.2cto.com 方法一:使用to_char的fm格式,即: 1.to_char(round

oracle查询不显示小数点前的0

1.问题起源       oracle 数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0       例如0.35就变成了.35 2.解决办法:用to_char函数格式化数字显示       select     to_char(0.338,'fm9999999990.00') from dual;      结果:0.34      这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格,不加fm,0.3

wzplayer for ios 针对(mms)优化版本V1.0

wzplayer for ios针对mms优化版本发布. 1.支持mms,http,rtmp,rtsp等协议 2.支持全格式 下载地址:http://www.coolradio.cn/WzPlayer.ipa 更强大的,请使用tlplayerhttp://blog.csdn.net/tigerleap/article/details/19007057 联系方式:[email protected] QQ:514540005 版权所有,禁止转载. 发布自:http://blog.csdn.net/t

关于ios::sync_with_stdio(false);和 cin.tie(0)加速c++输入输出流

原文地址:http://www.hankcs.com/program/cpp/cin-tie-with-sync_with_stdio-acceleration-input-and-output.html http://www.clanfei.com/2012/03/235.html 在网上查看别人的ACM代码时,发现别人输入输出语句用的总是scanf与printf,有点不解,还以为他们用的都是C语言,而非C++,但今天做的一道题(Sort): 发现与网上的其他高手使用完全相同的方法,使用sca

javascript中去掉字符串前面的0

var str = "00012300325300"; str = str.replace(/\b(0+)/gi,""); // 去掉字符串前面的0 document.write("str=" + str + "</br>"); 上面代码中replace的正则表达式就是去掉字符串前面的0 javascript中去掉字符串前面的0,布布扣,bubuko.com

Oracle中绝对值小于1的小数如何显示小数点前面的0

在oracle 中 如果是绝对值小于1的小数,则只会显示小数点后面的值,小数点前面的0就会被忽略掉,例如: 0.1  在oracle中会被显示为 .1 如何解决此类问题: x=0.2 TO_CHAR('fm9999990.9999',x) 输出值为 0.2 但是现在出现了一个问题,如果是x=10,那么跟显示就会为10. ,在后面会多一个小数点,这样很不好看,怎么才能显示实际的输入,在网上找了ORACLE 的另外一个字符处理函数rtrim,所以现在这些按照如下的更改即可: x =10 RTRIM(