国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

dart系列之:在dart中使用數字和字符串

番茄西紅柿 / 3053人閱讀

摘要:數字中定義了三種類型的數字,分別是和。對于小數來說,可以使用來指定小數的位數如果要使用科學記數法的話,可以使用字符串所有的字符串在中都是以進行編碼的,中的定義了很多常用的并且非常有用的方法??偨Y以上就是中數字和字符串的介紹。

簡介

要想熟悉一種語言,最簡單的做法就是熟悉dart提供的各種核心庫。dart為我們提供了包括dart:core,dart:async,dart:math,dart:convert,dart:html和dart:io這幾種常用的庫。

今天給大家介紹一下dart:core中的數字和字符串的使用。

數字

dart:core中定義了三種類型的數字,分別是num,int和double。

num是所有數字的總稱。int和double都是繼承自num,是num的子類。

事實上,dart:core中還有以一種數據類型叫做BigInt,BigInt是一種獨立的數據類型,并不是num的子類:

abstract class BigInt implements Comparable

數字中最常見的操作就是將字符串轉換為數字,轉換可以調用parse方法,先看下num中parse方法的定義:

  static num parse(String input, [@deprecated num onError(String input)?]) {    num? result = tryParse(input);    if (result != null) return result;    if (onError == null) throw FormatException(input);    return onError(input);  }

傳入的input可以是十進制、也可以是十六進制,如下所示:

assert(int.parse(18) == 18);assert(int.parse(0x05) == 5);assert(double.parse(0.50) == 0.5);

num.parse會將對應的字符轉換成為int或者double類型:

assert(num.parse(18) is int);assert(num.parse(0.50) is double);

parse方法還可以傳入字符串對應的基數,比如是十進制還是十六進制:

assert(int.parse(11, radix: 16) == 17);

上面我們講到了如何將字符串轉換成為數字,下面是如何將數字轉換成為字符串,num提供了toString()方法,可以方便的將int和double轉換成為string。

assert(18.toString() == 18);assert(3.1415.toString() == 3.1415);

對于小數來說,可以使用toStringAsFixed來指定小數的位數:

assert(3.1415.toStringAsFixed(2) == 3.14);

如果要使用科學記數法的話,可以使用toStringAsPrecision:

assert(314.15.toStringAsPrecision(2) == 3.1e+2);

字符串

所有的字符串在dart中都是以UTF-16進行編碼的,dart中的string定義了很多常用的并且非常有用的方法。

比如在字符串中進行查詢:

assert(www.flydean.com.contains(flydean));assert(www.flydean.com.startsWith(www));assert(www.flydean.com.endsWith(com));assert(www.flydean.com.indexOf(flydean) == 4);

從字符串中截取子串:

assert(www.flydean.com.substring(4, 11) == flydean);

將字符串按照特定字符進行截取:

var parts = www.flydean.com.split(.);assert(parts.length == 3);

那么dart中對應中文的支持是這么樣的呢? 因為dart中所有的字符都是以UTF-16來表示的,如果一個UTF-16單元能夠表示對應的字符,則中文使用起來也是沒有問題的:

  assert(你好嗎?.substring(1,2) == 好);  assert(你好嗎?[1] == 好);

但是有些字符使用一個UTF-16單元是表示不了的,這時候就需要用到 characters 包對特定的字符進行處理。

字符串轉換為大寫或者小寫:

assert(www.flydean.com.toUpperCase() ==    WWW.FLYDEAN.COM);// Convert to lowercase.assert(WWW.FLYDEAN.COM.toLowerCase() ==    www.flydean.com);

dart提供了 trim()方法,可以對字符串前后端的空格進行截?。?/p>

assert(  www.flydean.com  .trim() == www.flydean.com);

StringBuffer

除了顯示的字符串來創建字符以外,dart還提供了StringBuffer類,通過StringBuffer類我們可以自由創建字符串:

var sb = StringBuffer();sb  ..write(www.flydean.com )  ..writeAll([is, very, good],  )  ..write(.);var fullString = sb.toString();

上面代碼輸出:"www.flydean.com is very good."

其中writeAll() 將傳入的字符數組以特定的連接符進行連接。

總結

以上就是dart中數字和字符串的介紹。

本文已收錄于 http://www.flydean.com/14-dart-number-string/

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/124818.html

相關文章

  • dart系列:dart使用生成器

    摘要:同步的使用關鍵詞如下異步的使用的是關鍵詞如下生成關鍵詞使用的是。從中取出數據有兩種方式,第一種就是使用本身的來獲取中的數據。并且必須用在中,如下如果要想中斷對的監聽,則可以使用或者。總結總結以上就是中生成器的使用了。目錄簡介兩種返回類型的generatorStream的操作總結簡介ES6中在引入異步編程的同時,也引入了Generators,通過yield關鍵詞來生成對應的數據。同樣的dart...

    yck 評論0 收藏0
  • dart系列:元世界pubspec.yaml文件詳解

    摘要:有兩種依賴信息,一種是所有使用到這個的人都需要用到的依賴,這種依賴放在中。還有一種是只用在當前開發中的包,這種依賴放在中。在某些情況下,我們有可能需要覆蓋某些依賴包,則可以放在中。從之后,中還支持指定的版本總結總結以上就是的元世界詳解。? 目錄 簡介 pubspec.yaml支持的字段 一個例子 字段詳情 總結 ? 簡介 pub...

    vibiu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<