double输出 swift_string double swift - CSDN
  • 三种转换模式任何语言里面,Int、float、double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法。总结下来一共有三种转换模式,分别举例说明。一、String转数字这里...

    Swift的三种转换模式

    在Swift里面,Int、float、double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法。总结下来一共有三种转换模式,分别举例说明。

    一、String转数字

    这里以String类型转Int类型为例。String转其他的数字类型(Float、Double等)大同小异。主要用到的方法是String类型的toInt方法。注意这个方法返回的是Int?,即一个整数可选类型。所以需要解封。

    var string = "1234"
    var n:Int = 0
    if let number = string.toInt(){
        n = number
    }

    这样就得到了值为1234的的Int类型变量n。其实一开始我曾经想过,如果n没有值(也就是说还没有被赋值为0),解封又失败了,那么println(n)的结果会是什么呢,默认为0么?

    不过仔细思考后发现,这种情况是不可能发生的。Swift是不会允许我们使用一个还没有初始化的变量的。否则编译器会报错:

    Variable ‘n’ used before being initialized

    有点扯远了,当然也可直接使用

    var n = string.toInt()!

    不过强烈不建议这么用。即使你非常确定String一定是可以转成Int的。

    二、数字转String

    这里以Double类型转换String为例。比较一种简单的写法如下:

    var number = 123.5
    var string = "\(number)"

    这样就得到了值为”123.5”的String类型变量string。不过如果要写成一个方法,使得number作为参数传递进来的话,这种简写就不行了。我们可以利用String类型的初始化方法。

    var number = 123.5
    var string = String(stringInterpolationSegment: number)

    之所以拿Double类型来写是因为,如果number是Int类型,直接调用String(number)即可生成一个String类型的变量,而现在的number是Double类型,所以需要显式的加上外部变量名stringInterpolationSegment。这种写法对于Int类型依然成立,不过稍显麻烦,不过少了这个外部变量名,就无法将Double转为String了。

    个人比较推荐第二种写法。

    三、数字之间互转

    了解数字和String如何转换之后,最后看一下最简单的数字类型之间的互转。这里以Double转Int为例。

    和C、Java、OC等语言类似,可以使用强制类型转换的方式:

    var doubleNumber = 1.8
    var intNumber = 0
    intNumber = Int(doubleNumber)
    println(intNumber)

    这里的输出结果是1.也就是说doubleNumber不是四舍五入,而是精度丢失了。

    或者使用严谨一点的构造方法来写:

    var doubleNumber = 1.8
    var intNumber = 0
    intNumber = Int(doubleNumber)
    println(intNumber)

    输出结果依然是1

    附录

    查看完整专栏——《Swift轻松入门》

    【Swift入门(一)——基本语法】
    【Swift入门(二)——字符与字符串】
    【Swift入门(三)——元组(Tuple)】
    【Swift入门(四)——可选类型(Optionals)与断言(Assert)】
    【Swift入门(五)——数组(Array)】
    【Swift入门(六)——字典(Dictionary)】
    【Swift入门(七)——结构体(Struct)】
    【Swift入门(八)——功能强大的求余运算符】
    【Swift入门(九)——String与Int、Double、Float等数字相互转换】
    【Swift入门(十)——循环引用、弱引用和无主引用】
    【Swift入门(十一)——类型转换与is、as操作】
    【Swift入门(十二)——利用Extension添加逆序输出字符串方法】

    展开全文
  • 在Java语言中,当直接输出一个double类型的数据时,默认是按科学计数法输出,此时如果想与其他数据进行比较的时候,就比较麻烦了。 因此,如果能手动设置输出的模式,就比较方便了。有两种方式, 1、格式化输出,...

    Java语言中,当直接输出一个double类型的数据时,默认是按科学计数法输出,此时如果想与其他数据进行比较的时候,就比较麻烦了。

    因此,如果能手动设置输出的模式,就比较方便了。有两种方式,

    1、格式化输出,代码如下:

    [java] view plain copy
    1. public class TestDouble2String {  
    2.     public static void main(String[] args) {  
    3.         Double double1 = 123456789.123456789;  
    4.         DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");// 格式化设置  
    5.         System.out.println("格式输出:" + decimalFormat.format(double1));  
    6.         System.out.println("默认输出:" + double1);  
    7.     }  
    8. }  

    2、借用BigDecimal类进行输出,代码如下:

    [java] view plain copy
    1. public class TestDouble2String {  
    2.     public static void main(String[] args) {  
    3.         double d = 123456789.123456789;  
    4.         System.out.println("默认输出:" + d);  
    5.         System.out.println("格式输出:" + BigDecimal.valueOf(d));  
    6.     }  
    7. }  

    如此即可。

    转载自:http://vincentboy.iteye.com/blog/1647187

    展开全文
  • swift中是println() println("hello,world")  //打印相当于oc中的NSlog(@"hello,world");在c语言中的打印是printf("hello,world") 2.变量和常量的定义 let studentNum = 10

    1.打印---------我们开始学一门语言最初都会学习打印


    在swift中是println()

    println("hello,world"

    //打印相当于oc中的NSlog(@"hello,world");在c语言中的打印是printf("hello,world")



    2.变量和常量的定义

    let studentNum = 100//常量 必须进行唯一的一次的初始化 和

    var index = 1  //变量

    index = 2 // 变量可以改值

    //这里的常量定义类似于函数式编程语言中的变量,一次赋值后就无法修改。多多使用有益健康。 一个常量或变量必须与赋值时拥有相同的类型。因此你不用严格定义类型。提供一个值就可以创建常量或变量,并让编译器推断其类型。在上面例子中,编译其会推断studentNum是一个整数类型,因为其初始化值就是个整数。  类型与变量名绑定,属于静态类型语言。有助于静态优化。与Python、JavaScript等有所区别。



    var x = 1, y = 2.0, z = 3//定义变量同行逗号分隔



    var name : String //已经显性定义其变量是字符串类型

    name = "yuanbo" //对字符串对象赋值,oc不一样 oc的字符串需要@做引导符



    let num1 = 1 //定义一个常量num1的值是1, 隐形类型,swift这里默认推断成Int类型

    let num2 = 1.3 //定义一个常量num2的值是1.3,默认推断成功Double而不是Float

    let num3 : Float = 2.0 //由于默认推断成功Double而不是Float,想定义成Float 必须加这样的冒号和类型后缀Float,


    ///2 816进制的表示十进制的13

    let num5 : Int = 0b01101

    let num6 : Int = 0o15

    let num7 : Int = 0x0D


    //定义大数字,可以加下划线分隔,方便我们容易读取

    let num8 = 1000000 //这样我们还得数0,

    let num9 = 1000_000 //这样我们不用数0,数字之间可以加下划线,方便读取

    let num10 = 10000_0000 


    let numA:Float = 1  //系统自己转换Float型

    let numB:Int = Int(1.2)  //系统自己转换不了,需要我们自己手动强制转换



    let 姓名 = "yuanbo" //所有unitCode都可以当变量名,所以这里的汉子也可以当变量名,神奇吧

    姓名 + "nihao"  // 字符串还可以用来相加 神奇吧^_^


    //以上返现都没有分号,是不是和oc有很大的区别,另外Int 、DoubleFloatString这样的类型名首字母是大写和oc也不一样

    展开全文
  • Swift的字符串类String ,没有像OC NSString类,有属性可以直接转换为基本数据类型,所以就总结了常用的String类转换为基本数据类型的方法 直接上码: import UIKit class BaseTypeConvertClass: NSObject { ...

    Swift的字符串类String ,没有像OC NSString类,有属性可以直接转换为基本数据类型,所以就总结了常用的String类转换为基本数据类型的方法


    直接上码:

    import UIKit
    
    class BaseTypeConvertClass: NSObject {
        
        //简化版 CGFloat(Float(str))
        open class func StringToFloat(str:String)->(CGFloat){
            
            let string = str
            var cgFloat: CGFloat = 0
            
            if let doubleValue = Double(string)
            {
                cgFloat = CGFloat(doubleValue)
            }
            return cgFloat
        }
        //简化版 Int(str)
        open class func StringToInt(str:String)->(Int){
            
            let string = str
            var cgInt: Int = 0
            
            if let doubleValue = Double(string)
            {
                cgInt = Int(doubleValue)
            }
            return cgInt
        }
        //简化版Double(str)
        open class func StringToDouble(str:String)->(Double){
            
            let string = str
            var cgInt: Double = 0.0
            
            if let doubleValue = Double(string)
            {
                cgInt = (doubleValue)
            }
            return cgInt
        }
        
        open class func StringToData(str:String)->(Data){
            
            let strData = str.data(using: String.Encoding.utf8)
            
            return strData!
        }
        
        open class func DataToString(data:Data)->(String){
            
            let strData:String = NSString(data: data, encoding: String.Encoding.utf8.rawValue)! as String
            
            return strData
        }
    
    }
    

    基本数据类型转换为String

     String.init(format: <#T##String#>, <#T##arguments: CVarArg...##CVarArg#>)

    直接把基本数据类型添加上去就行了,如:

    let num:Int = 3

    String.init(format: "%d", num)





    展开全文
  • swift格式化输出

    2019-10-01 20:15:36
    以2为小数输出floata = 1.234567 在oc中可以借助NSLog格式输出 NSLog(@"float:%.2f",a); // 输出: // double:1.23 在SWIFT中,String 的格式化初始方法可以帮助我们利用格式化的字符串: let format = ...
  • double的格式化输出 例如保留两位小数//Double的延展 extension Double { func format(f: String) -> String { return String(format: "%\(f)f", self) } } let b:Double = 1.2568 let form = ...
  • Swift数字类型之间的转换

    千次阅读 2014-09-05 10:00:05
    Swift数字类型之间的转换Swift是一种安全的语言,对于类型的检查非常严格,不同类型之间不能随便转换。一、整型之间的转换在C和Objective-C等其他语言中,整型之间有两种转换方法:从小范围数到大范围数转换是自动的...
  • iOS double 类型取整

    2013-01-17 15:00:08
    NSNumber numStage = [NSNumbernumberWithDouble:12212212211]; NSString *numStr = ...,[numStage doubleValue]]; NSLog(@"%@",numStr);   切不可以强制转型成int 两种类型的范围不同。   ...
  • 1. Swift 中的 let 和 var

    千次阅读 2018-04-02 09:56:09
    Swift 中的变量声明相对于 OC 中简化了很多。可变与不可变取决于声明的方式,不在取决于类型了,这样简化了很多不必要的类型。比如 OC 中可变的为 NSMutableArray,不可变的是 NSArray,而 Swift 中的数组不管可变与...
  • 比如100,我们希望输出”one hundred”,或者更好的是输出中文的”一百”这貌似要写不少行代码,不过事实上你想多了! ;)Cocoa为你提供了一件利器来完成这些事:NumberFormatterlet f = NumberFormatter() f.numberStyle ...
  • Swift学习笔记(十九)——Swift数组

    千次阅读 2015-10-06 16:17:43
    在这里可以再次发现,在Swift中的数据类型都是大写打头的:如Int,Double,Array等等。 (1)声明数组 以下使用三种不同的方式声明数组:三种方式的效果是一样的。 var array1 = ["A","B","C"]//隐式声明
  • Swift好像没有自带逆序输出字符串的方法,于是决定通过拓展(Extension)给String类添加一个逆序输出字符串的reverse方法。首先新建一个Swift文件,命名规则不太清楚,于是暂且模仿OC叫做String+Operation吧,然后...
  • Swift4.0入门视频教程,课程内容包含Swift入门知识、数据类型(元组、Dictionary、运算符)、流程控制、函数、类与对象、扩展协议、常见概念、实用进阶、案例实战。 1、119节大容量课程:包含了Swift4.0语言大部分...
  • Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值。这时,调用的时候,也可以省略参数传递本文选自Swift1.2语言快速入门v2.0...
  • Double d = new Double("1234567890.12");  System.out.println("d:="+d); java.text.NumberFormat nf = java.text.NumberFormat.getInstance();  nf.setGroupingUsed(false); System.out...
  • 不同的数据类型可以在打印的时候作为字符串的类型进行输出,可以使用“\(变量)”的方式进行输出。具体代码如下:可以发现在Swift中\n也是换行。在例子中用到了Swift中最重要的几类数据类型。 var siInt:Int = 2; var...
  • ios-swift基础

    2017-09-20 19:23:13
    swift中用let来定义常量,是不能修改的,var定义的是变量是可以修改的 在swift中我们最好尽量的去使用let,如果你必须要修改这个变量的时候再去用var,这样程序会更安全 在swift中会根据设置数值的的代码,来...
  • Swift和OC的区别(基于Swift3.0)

    千次阅读 2017-06-20 20:16:06
    Swift无疑是iOS程序员的未来,但是目前苹果公司还在不端更新和改变Swift,甚至在语法层面还在不断探索,虽然xcode提供一些直接适配新版本Swift语法的快捷键,但给我们学习不免造成一些影响,这里是基于Swift3.0和OC...
  • Swift关键字总结上篇

    千次阅读 2019-06-20 11:11:21
    Swift 中有多少关键字? 在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。 本文中涉及的代码...
1 2 3 4 5 ... 20
收藏数 4,033
精华内容 1,613
关键字:

double输出 swift