decimal类型 go_Go 语言程序设计——字符串类型(2)

格式化布尔值

布尔值使用 %t (真值) 格式指令来输出

例子:

package main

import (

"fmt"

)

func IntForBool (b bool) int {

if b {

return 1

}

return 0

}

func main() {

fmt.Printf("%t %t\n", true, false)

fmt.Printf("%d %d\n", IntForBool(true), IntForBool(false))

}

也可以使用 strconv.ParseBool() 函数来将字符串转化为布尔值

格式化整数

例子:

package main

import (

"fmt"

"unicode/utf8"

"strings"

)

func main() {

i := 3931

fmt.Printf("|%b|%9b|%-9b|%09b|% 9b|\n", 37, 37, 37, 37, 37)

fmt.Printf("|%o|%#o|%# 8o|%#+ 8o|%+08o|\n", 41, 41, 41, 41, -41)

fmt.Printf("|%x|%X|%8x|%08x|%#04X|0x%04X|\n", i, i, i, i, i, i)

fmt.Printf("|$%d|$%06d|$%+06d|$%s|\n", i, i, i, Pad(i, 6, '*'))

}

func Pad(number, width int, pad rune) string {

s := fmt.Sprint(number)

gap := width - utf8.RuneCountInString(s)

if gap > 0 {

return strings.Repeat(string(pad), gap) + s

}

return s

}

使用 # 修饰符可以切换格式,从而在输出时以 0 打头

+ 修饰符会强制输出正号,如果没有该修饰符,正整数输出时前面没有正号

十进制 %d 格式指令,唯一可用于当做填充的字符是空格和 0,但也可以使用自定义函数来填充

utf8.RuneCountInString() 函数返回给定字符串的字符数,这个数字永远小于或等于其字节数

strings.Repeat() 函数接受一个字符串和一个计数,返回一个将该字符串重复给定次数后产生的字符串

格式化字符

Go 语言的字符都是 rune(既 int32 值),它可以已数字或者 Unicode 字符的形式输出

格式化浮点数

浮点数格式可以指定整体长度、小数位数,以及使用标准计数法还是科学计数法

例子:

package main

import (

"fmt"

"unicode/utf8"

"strings"

"math"

)

func main() {

for _, x := range []float64{-.258, 7194.84, -60897162.0218, 1.500089e-8} {

fmt.Printf("|%20.5e|%20.5f|%s|\n", x, x, Humanize(x, 20, 5, '*', ','))

}

}

func Humanize(amount float64, width, decimals int, pad, separator rune) string {

dollars, cents := math.Modf(amount)

whole := fmt.Sprint("%+.0f", dollars)[1:]

fraction := ""

if decimals > 0 {

fraction = fmt.Sprintf("%+.*f", decimals, cents)[2:]

}

sep := string(separator)

for i := len(whole) - 3; i > 0; i -= 3 {

whole = whole[:i] + sep + whole[i:]

}

if amount < 0.0 {

whole = "-" + whole

}

number := whole + fraction

gap := width - utf8.RuneCountInString(number)

if gap > 0 {

return strings.Repeat(string(pad), gap) + number

}

return number

}

math。Modf() 函数将一个 float64 类型的整数部分和小数部分以 float64 类型的树的形式返回

%e、%E、%f、%g、%G 格式指令既可以用于复数,也可以用于浮点数

%e和%E是科学计算法格式(指数的)格式指令

格式化字符串和切片

Go语言默认是居右对齐,我们可以使用-修饰符来将其居左对齐

为调试格式化

%T(类型)格式指令用于打印一个内置的或者自定义值的类型,而 %v 格式指令则用于打印一个内置值的值

Go语言中有两种类型是同义的:uint8 和 byte,int32 和 rune

其他字符处理相关的包

Go语言处理字符串的强大之处不仅限于对索引和切片的支持,也不限于fmt的格式化功能,strings包提供了非常强大的功能,此外strconv、unicode/utf8、unicode等也提供了大量实用的函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 评论的展开功能,Android开发实现ListView点击展开收起效果示例

本文实例讲述了Android开发实现ListView点击展开收起效果。分享给大家供大家参考&#xff0c;具体如下&#xff1a;废话不说先上效果&#xff1a;实际上这是采用一个ExpandableListView实现的布局文件很简单&#xff1a;xmlns:android"http://schemas.android.com/apk/res…

画流程图activiti流程图_干货!小白也能一天画100张高逼格流程图

今天是在一起两周年零128天纪念日~你喜滋滋地订好了花&#xff0c;买好了酒&#xff0c;暗暗盘算着下班以后赶紧走~不料老板的命令从天而降“出100张流程图&#xff0c;今天给我&#xff01;”What&#xff1f;&#xff1f;&#xff1f;100张&#xff01;&#xff01;&#xff…

linux修图,修图只知道Photoshop?11款高逼格修图工具快来get!

精致的产品是在线商店成功的一个重要元素。虽然Adobe Photoshop长期以来一直是编辑图像的行业标准&#xff0c;但也有许多免费或廉价的应用程序和类似的工具。本文将为大家介绍一些Photoshop的替代品&#xff0c;包括在线应用程序和图形软件套件&#xff0c;它们都具有创建动态…

摆的频率公式_频率与转速的公式

信息举报时间&#xff1a;2020-12-24 本页为您甄选多篇描写频率与转速的公式,频率与转速的公式精选,频率与转速的公式大全&#xff0c;有议论&#xff0c;叙事 &#xff0c;想象等形式。文章字数有400字、600字、800字....想做一个lc振荡电路产生正弦波到方波产生电路形成一个方…

Android10打断动画,Android开发(10) 动画(Animation)

概述Android SDK介绍了两种Animation&#xff1a;Tween Animation&#xff1a;通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果&#xff0c;即是一种 渐变动画 &#xff0c;或者说 补间动画。Frame Animation&#xff1a;顺序播放事先做好的图像&#xff0c;是…

safari浏览器横屏怎么设置_如何避免苹果safari自带浏览器“跟踪”你的信息!

苹果自带的“safari浏览器”正在悄悄“追踪”你的信息&#xff0c;这样做可以有效避免你的隐私信息不被泄露。说起苹果设备自带的APP&#xff0c;毫无疑问safari浏览器是其中的代表之一&#xff0c;很多朋友由于习惯的原因&#xff0c;大多在使用苹果设备的时候选择下载一些第三…

android按钮旋转,单击一个按钮在android中顺时针旋转图像

我有一个要求,我有一个ImageView和一个按钮.我想在单击按钮时旋转图像.我需要全屏图像.但是当我点击按钮图像时会旋转,但不会在全屏显示.请参阅以下链接.之后,当我点击按钮图像时也会旋转.但是位置已更改且未全屏显示.我的要求是,当我点击按钮时,图像将顺时针旋转,并将全屏显示…

自动提示_EXCEL2013版突然打不开,自动修复提示1907错误

由于系统升级或电脑进行修复操作&#xff0c;导致EXCEL突然打不开。office自动修复的时候提示错误1907。无法注册字体。请确认有足够的权限安装字体&#xff0c;并且系统支持此字体。解决方法一&#xff1a;直接点击忽略即可。一般点击一下忽略&#xff0c;它没有反应&#xff…

android 按钮改变顺序,在Android中定义RelativeLayout的Z视图顺序

在Android中定义RelativeLayout的Z视图顺序我想在Android中定义RelativeLayout视图的z顺序。我知道这样做的一种方法是拨打bringToFront。有更好的方法吗&#xff1f; 如果我可以在布局xml中定义z顺序会很棒。11个解决方案288 votes最简单的方法是简单地关注视图添加到XML文件的…

matlab去除图片水印_(水印去除技巧)3个在线图片水印去除网站,值得收藏

嗨&#xff01;大家好&#xff01;我是网罗小帅。很高兴和大家见面。今天是五一放假的第一天。有人说&#xff0c;新媒体人你不佩有五一假期。我太“南”了&#xff01;今天带来一波图片&#xff0c;视频去水印技巧干货神器。有时候我们看到一些漂亮的壁纸&#xff0c;但是别人…

android 软键盘遮住按钮,Android应用中出现软键盘遮挡住按钮如何解决

Android应用中出现软键盘遮挡住按钮如何解决发布时间&#xff1a;2020-11-20 16:25:47来源&#xff1a;亿速云阅读&#xff1a;110作者&#xff1a;LeahAndroid应用中出现软键盘遮挡住按钮如何解决&#xff1f;相信很多没有经验的人对此束手无策&#xff0c;为此本文总结了问题…

python是开源工具吗_微软最强 Python 自动化工具开源了!不用写一行代码

1. 前言最近&#xff0c;微软开源了一款非常强大的 Python 自动化依赖库&#xff1a;playwright-python&#xff0c;它支持主流的浏览器&#xff0c;包含&#xff1a;Chrome、Firefox、Safari、Microsoft Edge 等&#xff0c;同时支持以无头模式、有头模式运行&#xff0c;play…

android 振动传感器,Android光线传感器

Android光线传感器[编辑]概述光线传感器&#xff0c;即光电感应器&#xff0c;将收到之光线讯号转变成电器信号&#xff0c;此电信讯号更可进一步作各种不同的开关及控制动作。一、简介目前智能手机上用光线传感器来调节屏幕明暗&#xff0c;就是在光线强的地方手机会自动关掉键…

tcp unity 图片_Unity 简易聊天室(基于TCP)(2)

客户端用Unity开发&#xff0c;主要就是搭建一下聊天室的UI界面&#xff1a;输入框&#xff0c;聊天内容显示框&#xff0c;发送按钮灰色背景的就是Message&#xff0c;也就是聊天内容的显示框&#xff0c;是一个Text类型&#xff0c;这里创建UI方面就不多讲了在Canvas下挂一个…

android底部弹出显示不全,Android 解决 NestedScrollView 底部内容被遮挡显示不全

Android 解决 NestedScrollView 底部内容被遮挡显示不全很早之前就遇到过在使用 NestedScrollView 的时候发现底部的 View 总是显示不全, 看起来像是被底部的什 padding 遮挡了一样.这次是一个 recycleView, 在 list 没有数据的时候总是显示不全, 有数据的时候就正常了. 子类控…

php调用python绘图程序_如何在matlab中调用python程序

现在python很火&#xff0c;很多代码都是python写的&#xff0c;如果你和我一样&#xff0c;习惯了使用matlab&#xff0c;还想在matlab中调用Python的代码&#xff0c;应该怎么办呢&#xff1f;其中一条思路&#xff1a;首先在matlab中调用系统脚本命令&#xff0c;然后再通过…

解释器android,Android的设计模式-解释器模式

前言Android的设计模式系列文章介绍&#xff0c;欢迎关注&#xff0c;持续更新中&#xff1a;1.定义给定一门语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子。2.介绍解释器模式属于行为型模式。解释器模…

下载人脸认证助手_关于微信人脸解封验证失败方法

微信解封人脸验证失败&#xff01;我知道大家出现了这个问题。嗯&#xff0c;我也是前两天出现过的&#xff0c;前两天我一觉起来打开微信&#xff0c;发现自己的微信被封了。然后我就很着急的去解封。然后他就是让绑银行卡&#xff0c;然后进行实名认证之后进行人脸解封&#…

android照片如何查看时间,Android 获取照片时间

1、手机拍摄的照片(ExifInterface )ExifInterface exifInterface null;try {exifInterface new ExifInterface(oldPath);} catch (Exception e) {e.printStackTrace();}String watermarkTime exifInterface.getAttribute(ExifInterface.TAG_DATETIME);//ExifInterface方法只…

罗宾斯管理学13版pdf_全球著名管理学家,曾任五大高校教授,罗宾斯教你如何做好管理者...

在管理界&#xff0c;除了德鲁克能被称之为管理学大师&#xff0c;还有一位满腹经纶的管理学家&#xff0c;他就是斯蒂芬P罗宾斯&#xff0c;这位全球著名的管理学家&#xff0c;曾先后在布拉斯加大学、协和大学、巴尔的摩大学、南伊利诺伊大学、圣迭戈大学五大高校任教&#x…