日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dart系列之:在dart中使用数字和字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • 數字
  • 字符串
  • StringBuffer
  • 總結

簡介

要想熟悉一種語言,最簡單的做法就是熟悉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<BigInt>

數字中最常見的操作就是將字符串轉換為數字,轉換可以調用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()方法,可以對字符串前后端的空格進行截取:

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/

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

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

總結

以上是生活随笔為你收集整理的dart系列之:在dart中使用数字和字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。