当前位置: 首页 > 知识库问答 >
问题:

如何在swift[duplicate]中获得1个十进制浮点值

何飞翰
2023-03-14

我想从现有的浮点数中提取1个十进制浮点数。

我在Objective-C中做过:使浮点只显示两位小数

知道如何在Swift中实现吗?

共有3个答案

林君博
2023-03-14

中缀运算符怎么样?

// Declare this at file level, anywhere in you project. 
// Expressions of the form 
//     "format string" %% doubleValue
// will return a string. If the string is not a well formed format string, you'll
// just get the string back! If you use incorrect format specifiers (e.g. %d for double)
// you'll get 0 as the formatted value.
operator infix %% { }
@infix func %% (format: String, value: Double) -> String {
    return NSString(format:format, value)
}

// ...
// You can then use it anywhere
let experience = 1.234
println("Pro Forma:- \n Total Experience(In Years) = %.01f" %% experience)

我试图用泛型来做这件事,但我不知道怎么做。要使它适用于多种类型,只需为这些类型重载它-例如。

operator infix %% { }
@infix func %% (format: String, value: Double) -> String {
    return NSString(format:format, value)
}
@infix func %% (format: String, value: Float) -> String {
    return NSString(format:format, value)
}
@infix func %% (format: String, value: Int) -> String {
    return NSString(format:format, value)
}
骆雅昶
2023-03-14

你可以试试这个

var experience = 10.25
println("Pro Forma:- \n Total Experience(In Years) = " + NSString(format: "%.01f", experience))
赵君植
2023-03-14

您可以快速制作相同的:

var formatter : NSString = NSString(format: "%.01f", myFloat)

或者像你想在一行:

println("Pro Forma:- \n Total Experience(In Years) = "+(NSString(format: "%.01f", myFloat)))

这也适用于旧的NSLog(但更喜欢println):

NSLog("Pro Forma:- \n Total Experience(In Years) = %.01f \n", myFloat)
 类似资料:
  • 我需要处理一个十六进制字符串值到浮动颜色。 真正的颜色是(RGBA格式) 是绿色的,当0相当于00,1是FF。但是需要将颜色转换为0-255十进制数来计算从0到255的百分比,并设置浮点值。 如何通过示例转换为浮点数组? 当parsecolor i有整数值时: 但是如何将整数转换为浮点中的每种颜色呢?红、绿、蓝、阿尔法

  • 问题内容: 我必须将,以s 表示(例如)转换为浮点值( IEEE-754 转换)。我没有使用strconv.ParseFloat函数做到这一点。还有什么我要用的吗?到目前为止我找不到。我也尝试先将其转换为整数,然后转换为浮点数,但结果是错误的。 我最后一次尝试的代码: 问题答案: 首先,需要说明输入的位长。由于十六进制表示形式有4个字节(8个十六进制数字),因此很可能是a (需要询问者澄清)。 您

  • 本文向大家介绍C#浮点,双精度,十进制,包括了C#浮点,双精度,十进制的使用技巧和注意事项,需要的朋友参考一下 示例 浮动 float是.NET数据类型的别名System.Single。它允许存储IEEE 754单精度浮点数。存在此数据类型mscorlib.dll,每个C#项目在创建它们时都会隐式引用该数据类型。 大致范围:-3.4×10 38至3.4×10 38 十进制精度:6-9个有效数字 记

  • 问题内容: 我正在寻找一种简单的方法来在Swift中将二进制数转换为十进制数。例如,二进制的“ 10”变为十进制的“ 2”。 谢谢, 问题答案: 更新 为 斯威夫特2: 所有整数类型有 现在的方法,该方法根据给定的基数将字符串转换为整数: (先前的答案:) 您可以简单地使用BSD库函数,该函数根据给定的基数将字符串转换为数字:

  • 问题内容: Python是否提供了获取浮点值的功能,该函数是通过将现有浮点值的最低有效位递增而得到的? 我正在寻找类似于C ++ 11中添加的功能的东西。 问题答案: 这里有五个(实际上是四个半)解决方案。 解决方案1:使用Python 3.9或更高版本 2020年10月发布的Python 3.9包括一个新的标准库函数,该函数直接提供此功能:用于将下一个浮点数向正无穷大。例如: 如果查看方法提供的

  • 问题内容: 我不太了解功能以及此处。实际上是什么意思? 为什么在这里我需要将浮点数转换为小数? 下面是相同的sql小提琴吗? http://sqlfiddle.com/#!2/1ed51b/1/0 我的问题再次重复: 实际上是什么意思? 为什么在这里我需要将浮点数转换为小数? 问题答案: 表示具有固定小数点的数字,总共有7位数字,其中2位在小数点右边。(因此,左5个,右2个。) 你并不 需要 ,除