Objective c 如何在swift中获得1个十进制浮点

Objective c 如何在swift中获得1个十进制浮点,objective-c,swift,xcode6,Objective C,Swift,Xcode6,我想从现有浮点数中提取1个十进制浮点数 我在Objective-C中完成了这项工作: 你知道如何在Swift中实现吗?你可以在Swift中实现同样的效果: var formatter : NSString = NSString(format: "%.01f", myFloat) 或者像你想在一行: println("Pro Forma:- \n Total Experience(In Years) = "+(NSString(format: "%.01f", myFloat))) 这也适用

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

我在Objective-C中完成了这项工作:


你知道如何在Swift中实现吗?你可以在Swift中实现同样的效果:

var formatter : NSString = NSString(format: "%.01f", myFloat)
或者像你想在一行:

println("Pro Forma:- \n Total Experience(In Years) = "+(NSString(format: "%.01f", myFloat)))
这也适用于旧的NSLog(但更喜欢println):

你可以试试这个

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

中缀操作符怎么样

// 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)
}

这在技术上是正确的,但我如何在不为string添加一行的情况下打印它呢。例如,下面的代码无法编译:println(“形式:-\n总经验(年)=(NSString(格式:%.01f),经验))//这里的经验是浮点,我希望是小数点后1位。(这在objective-C中是可能的)我的这篇文章println(“形式:-\n总经验(以年为单位)=+(NSString(格式:%.01f,经验)))很有趣!但是,如果您可以对自己编写的代码添加注释,这将非常有帮助。哪部分需要注释?目前我正在尝试使用泛型使其工作,并在完成后对其进行适当的注释!我刚开始学斯威夫特。你能解释一下@infix指令吗?你有这本书吗?它是免费的,而且非常重要。这一章被称为“操作员功能”,或者只是使用iBook搜索来查找@infix.Ya。我从苹果公司买了这本书,将看看这一部分。好吧,这些评论足以说明问题。谢谢
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)
}