C#常用輸出格式

輸出方法Console. WriteLine( )
Console. WriteLine()方法將數據輸出到屏幕并加上一個回車換行符(若不加回車換行
符,可用Console. Write()方法)。
該方法類似于C語言中的printf()函數,
可以采用“{N[,M][:格式化字符串]}”的形式格式化輸出字符串,其中的參數含義如下。
①花括號({}): 用來在輸出字符串中插人變量的值。
N:表示輸出變量的序號,從0開始,例如當N為0時,對應輸出第1個變量的值;當
N為2時,對應輸出第3個變量的值,依此類推。
[,M]:可選項,其中M表示輸出的變量所占的字符個數。當這個值為負數時,輸出的變量按照左對齊方式排列;如果這個值為正數,輸出的變量按照右對齊方式排列。
[:格式化字符串]:可選項,因為在向控制臺輸出時常常需要指定輸出字符串的格式。
通過使用標準數字格式字符串,可以使用Xn的形式來指定結果字符串的格式,其中X
指定數字的格式,n指定數字的精度,即有效數字的位數。這里提供了8個常用的格
式字符。
注意:在一個Write/ WriteLine方法中,N的序號是連續的,且從0開始。例如,以下語句
都是錯誤的:

Console. WriteLine("{0} and {2}",1.2);//序號不連續
Console. WriteLine("{1} and {2}".1,2);//序號不是從0開始的
格式字符含義示例輸出結果
C或c將數據轉換成貨幣格式Console. WriteLine("{0,5:c}", 123. 456);¥123.46
D或d整數數據類型格式Console. WriteLine("{0:D4}", 123);0123
E或e科學記數法格式Console. W riteLine("{0:E4}", 123. 456);1.2346E十002
F或f浮點數據類型格式Console. WriteLine("{0:f4}", 123. 456);123.4560
G或g通用格式Console. WriteLine("{0:g)", 123. 456);123.456
N或n自然數據格式Console. WriteLine("{0:n}", 123. 456);123.46
X或x十六進制數據格式Console. WriteLine("{0:x}", 12345);3039

舉個詳細的例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace day2_25
{class Program{static void Main(string[] args){double d = 123.456;Console.WriteLine("d={0:c2}",d);//d=¥123.46Console.WriteLine("d={0:c3}", d);//d=¥123.456Console.WriteLine("d={0:c4}", d);//d=¥123.4560Console.WriteLine("d={0,5:c2}", d);//d=¥123.46Console.WriteLine("d={0,6:c3}", d);//d=¥123.456Console.WriteLine("d={0,7:c4}", d);//d=¥123.4560Console.WriteLine("d={0,8:c4}", d);//d=¥123.4560//由上面的例子可以得出:{N[,M][:格式化字符串]}  [:格式化字符串]的優先級要比[,M]高//即d={0,8:c4},.8代表寬度為8位,而c4代表將數據轉換成貨幣格式且保留4位小數位,由于保留4位小數,故d只能為123.4560,7位數Console.WriteLine("d={0:e4}",d);//d=1.2346e+002Console.WriteLine("d={0,3:e5}", d);//d=1.23456e+002Console.WriteLine("d={0,4:e6}", d);//d=1.234560e+002//d={0,4:e6}其中e6表示6位小數位數Console.WriteLine("d={0:f4}",d);//d=123.4560Console.WriteLine("d={0:f5}", d);//d=123.45600Console.WriteLine("d={0:f6}", d);//d=123.456000Console.WriteLine("d={0,4:f4}", d);//d=123.4560Console.WriteLine("d={0,5:f5}", d);//d=123.45600Console.WriteLine("d={0,10:f10}", d);//d=123.4560000000//d={0,10:f10}其中f10表示浮點數的小數位數為10位,總寬度也為10位,如果相沖突,以后面的小數位數為準Console.WriteLine("d={0:g}",d);//d=123.456Console.WriteLine("d={0:g5}", d);//d=123.46Console.WriteLine("d={0:g6}", d);//d=123.456Console.WriteLine("d={0:g7}", d);//d=123.456//d={0:g7}按理說會有7位小數,但是由于d本身是123.456,而且運用的是g,所以精讀最高到它本身,再多也無用//d={0:g}默認為原樣輸出Console.WriteLine("d={0:n}", d);//d=123.46Console.WriteLine("d={0:n2}", d);//d=123.46Console.WriteLine("d={0:n3}", d);//d=123.456Console.WriteLine("d={0:n4}", d);//d=123.4560Console.WriteLine("d={0:n5}", d);//d=123.45600Console.WriteLine("d={0:n6}", d);//d=123.456000Console.WriteLine("d={0:n7}", d);//d=123.4560000//d={0:n}默認為n2,保留兩位小數位數Console.ReadLine();}}
}

運行輸出結果如下:
在這里插入圖片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace yy
{class Program{static void Main(string[] args){int a = 1234, b = -1234;Console.WriteLine("a={0},b={1}", a, b);//a=1234,b=-1234Console.WriteLine("a={0:D5},b={1:D5}", a, b);//a=01234,b=-01234Console.WriteLine("a={0:c3},b={1:c2}", a, b);//a=¥1,234.000,b=¥-1,234.00//a={0:D5},b={1:D5}其中D5表示一共5位數//a={0:c3},b={1:c2}其中c3和c2表示小數位數分別為3位和2位Console.ReadLine();}}
}

運行輸出結果如下:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379252.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379252.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379252.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

棧-順序表(代碼、分析、匯編)

目錄:代碼:分析:匯編:代碼: SeqList.h #ifndef _SEQLIST_H_ #define _SEQLIST_H_typedef void SeqList;//定義順序表類型 typedef void SeqListNode;//定義順序表節點類型SeqList* SeqList_Create(int capacity);voi…

sqlserver 數據庫日志文件過大的問題

USE[master] GO ALTER DATABASE 【數據庫】 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 【數據庫】 SET RECOVERY SIMPLE --簡單模式 GO USE 【數據庫】 GO DBCC SHRINKFILE (N【數據庫日志文件名(如:msdb_log)】 , 11, TRUNCATE…

SQl Server存儲過程基礎

一、存儲過程的概念 存儲過程是SQL語句和可選控制流語句的預編譯集合,存儲在數據庫中,可由應用程序通過一個調用執行,而且允許用戶聲明變量、有條件執行以及其他強大的編程功能。 在SQL Server中存儲過程分為兩類:即系統提供的存儲…

isinfinite_Java Double類isInfinite()方法與示例

isinfinite雙類isInfinite()方法 (Double class isInfinite() method) isInfinite() method is available in java.lang package. isInfinite()方法在java.lang包中可用。 isInfinite() method is used to check infinity (i.e. either positive infinity or negative infinity…

MySql學習(一)

SQL語句的分類:DDL(數據定義語言)、DML(數據操作語言)、DCL(數據控制語句)MySql的命令語句以;或\g結束建庫:Create database name;建表:Create tablle name;選…

C盤爆紅的解決辦法

方法一:開始—>搜索—>cleanmgr—>磁盤清理—>選擇你所需要清理的磁盤即可 方法二:我的電腦右擊—>管理—>磁盤管理—>右鍵選擇你要壓縮的磁盤—>壓縮卷—>輸入壓縮空間量—>壓縮—>右鍵 拓展卷—>下一步—>輸入…

棧應用_檢測成對符號是否正確使用(代碼、分析、匯編)

目錄&#xff1a;代碼&#xff1a;分析&#xff1a;匯編&#xff1a;代碼&#xff1a; LinkList.h LinkList.c LinkStack.h LinkStack.c 棧-線性表 main.c #include <stdio.h> #include <stdlib.h> #include "LinkStack.h"//該程序是檢查字符串中的出…

Oracle 參數分類 和 參數的查看方法

Oracle數據庫系統根據初始化參數文件init.ora中設置的參數來配置自身的啟動&#xff0c;每個實例在啟動之前&#xff0c;首先讀取這些參數文件中設置的不同參數。 Oracle系統中的參數&#xff0c;根據系統使用情況可以簡單分為兩大類&#xff1a; 普通參數&#xff1a;也就是Or…

java 方法 示例_Java集合checkedList()方法與示例

java 方法 示例集合類checkedList()方法 (Collections Class checkedList() method) checkedList() Method is available in java.lang package. CheckedList()方法在java.lang包中可用。 checkedList() Method is used to return the typesafe view of the given List at runt…

ParameterizedTypeImpl

關于“通過反射獲得泛型的參數化類型”的問題&#xff1a; 下面是張老師 通過反射獲得泛型的參數化類型的一段代碼import java.util.*; import java.lang.reflect.*;public class GenericalReflection { private Vector<Date> dates new Vector<Date>(); public v…

Spyder打開報錯解決辦法

刪除C:\Users\Administrator路徑下.matplotlib和.spyder-py3&#xff08;你的有可能是.spyder2或.spyder3&#xff09;這兩個文件夾&#xff0c;然后再重啟Spyder即可 &#xff08;本人也是查找多篇大佬博客然后最后找到的解決方法&#xff09;

ERP軟件銷售的方法論--SPIN銷售法(SPIN Selling)

有許多人一直在做的ERP軟件產品的銷售&#xff0c;也接受了許多關于銷售方法的培訓&#xff0c;我所了解的就包括有C139&#xff0c;用友的《策略九問》等方法&#xff0c;但其實行業內早就有先驅創立了相關的銷售方法&#xff0c;那就是SPIN銷售法&#xff0c;之前一直都是只知…

ffmpeg - AVPacket內存問題分析(AVFrame一樣的)

目錄&#xff1a;1、av_packet_alloc()和av_packet_free()2、av_init_packet()的問題3、av_packet_move_ref()的問題4、av_packet_clone()的問題5、AVPacket的引用計數問題6、 AVFrame一樣的1、av_packet_alloc()和av_packet_free() 源碼中av_packet_unref()調用av_buffer_unre…

Java類class isSynthetic()方法及示例

類的類isSynthetic()方法 (Class class isSynthetic() method) isSynthetic() method is available in java.lang package. isSynthetic()方法在java.lang包中可用。 isSynthetic() method is used to check whether this Class is a synthetic class or not. isSynthetic()方法…

BNU OJ 第26303 題 Touchscreen Keyboard

BNU OJ第26303題Touchscreen Keyboard&#xff08;題目鏈接&#xff09;的解題報告。 原題如下&#xff1a; Touchscreen Keyboard Problem Description Nowadays, people do not use hardware keyboards but touchscreens. Usually, they touch on the wrong letters with the…

列表(二)

1&#xff0c;什么是列表&#xff1f; 列表由一系列按特定順序排列的元素組成。得知列表內的元素是有序的。 在Python中&#xff0c;用方括號&#xff08;[]&#xff09;來表示列表&#xff0c;并用逗號來分隔其中的元素。 color [red,blue,black,yellow]#定義一個字符串列表…

Zigbee在.Net Micro Framework系統中的應用

Zigbee是IEEE 802.15.4協議的代名詞。根據這個協議規定的技術是一種短距離、低功耗的無線通信技術。這一名稱來源于蜜蜂的八字舞&#xff0c;由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息&#xff0c;也就是說蜜蜂依靠這樣的方式構成…

ffmpeg-AVFrame分配內存問題

目錄&#xff1a;1、格式&#xff1a;交錯式2、格式&#xff1a;平坦式3、總結&#xff1a;1、格式&#xff1a;交錯式 LRLRRLRLRLRLRLRLRLR 2、格式&#xff1a;平坦式 LLLLLLRRRRRR 3、總結&#xff1a; 兩種方式的內存排列在AVFrame中分配是有區別的 交錯式在一個buf…

stl中map函數_map :: empty()函數以及C ++ STL中的Example

stl中map函數C STL映射:: empty() (C STL map::empty()) It is built-in function in C STL and used to check whether the map container is empty or not i.e whether its size is 0 or not? 它是C STL中的內置函數&#xff0c;用于檢查地圖容器是否為空&#xff0c;即其…

C#使用Dotfuscator混淆代碼以及加密

C#編寫的代碼如果不進行一定程度的混淆和加密&#xff0c;那么是非常容易被反編譯進行破解的&#xff0c;特別是對于一些商業用途的C#軟件來說&#xff0c;因為盯著的人多&#xff0c;更是極易被攻破。使用Dotfuscator可以實現混淆代碼、變量名修改、字符串加密等功能。 這里介…