Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用NSNumberFormatter用两位数圆Int?

如何使用NSNumberFormatter用两位数圆Int?
EN

Stack Overflow用户
提问于 2020-11-25 04:37:59
回答 1查看 69关注 0票数 1

我只是创建了扩展:

代码语言:javascript
运行
AI代码解释
复制
extension NumberFormatter {
    convenience init(digits: Int) {
        self.init()
        self.maximumFractionDigits = digits
        self.minimumFractionDigits = digits
    }
}
extension Int {
    var descriptivePrice: String {
        return NumberFormatter(digits: 2).string(from: NSNumber(value: Double(self * 100/10000))) ?? ""
    }
}

并对此进行测试:

代码语言:javascript
运行
AI代码解释
复制
func testDescriptivePrice() {
    XCTAssertEqual(2345.descriptivePrice, "23,45") //23,00
    XCTAssertEqual(20000.descriptivePrice, "200,00")
    XCTAssertEqual(20.descriptivePrice, "0,20") //0,00
    XCTAssertEqual(2.descriptivePrice, "0,02") //0,00
}

为什么我的测试失败了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 04:58:19

这与数字格式器无关,也与您如何将ints转换为双倍无关:

代码语言:javascript
运行
AI代码解释
复制
Double(self * 100/10000)

在这里,您将在除法后转换为Double,所以您正在进行整数除法。换句话说,您只是删除一个整数的最后两位数。例如,在2345.descriptivePrice中,在执行234500 / 10000 (= 23)时,45部件已经丢失,然后才会发生NumberFormatter-related内容。

您应该先将self转换为Double,然后再拆分:

代码语言:javascript
运行
AI代码解释
复制
Double(self) / 100
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65004879

复制
相关文章
用python计算圆的面积
算法与编程之美
2023/10/09
2550
用python计算圆的面积
用python绘制圆(python用函数绘制椭圆)
# ==========================================
全栈程序员站长
2022/07/30
1.3K0
用python绘制圆(python用函数绘制椭圆)
int a; int* a; int** a; int (*a)[]; int (*a)(int)
a) int a;表示一个内存空间,这个空间用来存放一个整数(int); b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间; c) int** a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放指针的空间,并且指向的这个空间中的指针,指向一个整数。也简单的说,指向了一个b)中提到的空间; d) int (*a)[4];表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个长度为4、类型为int的数组;和int** a的区别在于,++、+=1之后的结果不一样,其他用法基本相同。 以上四种类型见上图表示。 e) int (*a)(int);表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个函数,这个函数有一个类型为int的参数,并且函数的返回类型也是int。
Twcat_tree
2022/11/30
2.3K0
int a; int* a; int** a; int (*a)[]; int (*a)(int)
用int来表示多个bool判断
位操作,想必大家在学习计算机基础知识的时候都有所接触过,但是日常却老是想不起来使用,今天就提供一个使用的思路.
呼延十
2019/06/26
2.1K0
数据结构中 为什么要用typedef int datatype ,而不直接用int
用typedef来为类型起个别名,如“typedef long INDEX;”。给long这样的类型起别名主要目的不是简化程序的书写,它有两个用处:一是表明该类型的特殊作用,二是将来有可能要改变这种类型(比如提高精度),如果直接声明为long型则失去了程序的可惟护性——每一个变量的声明都要改动;而声明为INDEX则使维护程序变得十分简单——只要改一下typedef语句即可。
Twcat_tree
2022/11/30
5180
如何定量判断图形有多圆?
最近工作中需要判断焊球的图像圆不圆,于是DIY了一个算法,可以定量计算任意图像与圆的偏离程度。这里首先假设图像是单连通域的二值图(单连通不满足也可计算,二值图可以转化而来)。
用户6021899
2021/12/07
7960
如何定量判断图形有多圆?
int(*p)[4] int*p[4]
1、int(*p)[4];------p为指向含4个元素的一维整形数组的指针变量(是指针) #include <stdio.h> #include <stdlib.h> int main() { int a[4]={1,2,3,4}; int (*p)[4]; p=&a; printf("%d\n",(*p)[3]); printf("%d\n",*p); return 0; } 2、int *p[4];-------定义指针数组p,它由4个指向整型数据的
谙忆
2021/01/19
2K0
两位数谐音速记
数字记忆的秘诀就是图像联想,以下是所有二位数桩子图表
叙帝利
2018/12/12
1.4K0
使用INT4/INT类型替换INT8/BIGINT类型能够节省多少磁盘空间?
最近有人在IRC,Slack和Reddit上讨论使用int4/integer替代int8/bigint能够少4个字节。事实并非如此,来解释下。
yzsDBA
2022/03/29
8010
c语言中(int)什么意思_c语言中怎么用int转化char
int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到2,147,483,647;
全栈程序员站长
2022/09/23
5K0
c语言中(int)什么意思_c语言中怎么用int转化char
iOS 数字转汉字(不同语言环境)
1.用NSNumberFormatter 关于NSNumberFormatter,请看这里https://www.jianshu.com/p/817029422a72 我们这里只说数字转汉字的实现: NSNumberFormatter的numberStyle如下:
清墨
2019/03/04
2K0
C# int int16 Int32 Int64的介绍[通俗易懂]
今天看到别人的代码中用到Int32,UInt32相关,想到自己平时用的都是int类型整数,就心生好奇的翻了一下资料:
全栈程序员站长
2022/09/21
3.6K0
使用Python+pillow绘制矩阵盖尔圆
盖尔圆是矩阵特征值估计时常用的方法之一,其定义为: 与盖尔圆有关的两个定理为: 定理1:矩阵A的所有特征值均落在它的所有盖尔圆的并集之中。 定理2:将矩阵A的全体盖尔圆的并集按连通部分分成若干个子集
Python小屋屋主
2018/04/16
1.2K0
使用Python+pillow绘制矩阵盖尔圆
.net Int16 、(int Int32)、 Int64 的区别
摘要: 关于什么是16位整数,32位整数,64位整数,请看这里:http://www.cnblogs.com/EasonJim/p/4837061.html Int16 值类型表示值介于 -32768 到 +32767 之间的有符号整数。
拓荒者
2019/03/14
2.7K0
int是什么_int a[4][4]
Int16 意思是16位整数(16bit integer),相当于short 占2个字节 -32768 ~ 32767
全栈程序员站长
2022/09/21
1.4K0
计算几何之圆与圆的交点
计算圆与圆的交点,需要用到余弦定理 步骤如下: 求出两个圆的圆心距d 求出向量c2.c-c1.c与c1.c到某交点的向量夹角a 求出向量c2.c-c1.c与x轴的夹角t 那么,两个交点就分别是以c1.c为起点,大小为c1.r,角度为t+a、t-a的两个向量 题目:CGL_7_E AC代码: #include <iostream> #include <cstdio> #include <math.h> using namespace std; #define COUNTER_CLOCKWISE -1 /
灯珑LoGin
2022/10/31
6700
计算几何之圆与圆的交点
用螺纹切削循环功能实现外圆表面循环切削?
有些数控车床只有螺纹切削循环功能而没有外圆柱面和外圆锥面的切削循环功能。要对外圆柱面或外圆锥面进行循环切削,就必须编制相应的循环程序,编程繁琐,程序冗长。由于外圆柱面和外圆锥面可以看成是螺距微小的螺纹面,因此利用螺纹切削循环功能,只要使其螺距参数适当的小,就可以加工出外圆柱面或外圆锥面。下面以CK0630数控车床为例,介绍螺纹切削循环功能的具体使用方法。例如,加工如图1所示的零件,零件毛坯为50mm的棒料。
lrglu
2022/03/31
3630
用螺纹切削循环功能实现外圆表面循环切削?
2022-05-26:void add(int L, int R, int C)代表在arr[L...R]上每个数加C, int get(int L, int
2022-05-26:void add(int L, int R, int C)代表在arrL...R上每个数加C,
福大大架构师每日一题
2022/05/26
1.5K0
2022-05-26:void add(int L, int R, int C)代表在arr[L...R]上每个数加C, int get(int L, int
使用Python+pillow绘制矩阵盖尔圆
该文介绍了使用Python和Pillow绘制矩阵盖尔圆的方法,并给出了示例代码。同时,文章还介绍了与盖尔圆相关的定理和推论,以及绘制盖尔圆的具体实现步骤。
企鹅号小编
2018/01/08
9400
使用Python+pillow绘制矩阵盖尔圆
点击加载更多

相似问题

如何用NSNumberFormatter只显示前两位数字?

22

用NSNumberFormatter兑换美元

21

使用NSNumberFormatter

10

如何使用NSNumberFormatter显示货币?

10

用NSNumberFormatter格式化双打

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文