返回信息流我刚开始看,想试一下C#的格式化输出,结果在使用 C/c
格式化输出时,默认打印两位小数不适用
并且 ¥ 符号打印在负号的后面了
大牛们帮忙看看是什么问题吧?
谢谢~
在线等
解决方法·· 2楼wks 提供
控制面板->区域语言选择->自定义->货币
//////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
namespace ConsoleApplication1
{
class Program
{
static void Main(String[] args)
{
int num1, num2;
double num3, num4;
num3 = 1234.567;
num4 = -1234.567;
//NumberFormatInfo nfi = new CultureInfo("zh-CN", false).NumberFormat;
//nfi.CurrencyDecimalDigits = 2;
//看下默认精度
Console.WriteLine(CultureInfo.GetCultureInfo("zh-CN").NumberFormat.CurrencyDecimalDigits);
Console.WriteLine("num3=1234.567 num4=-1234.567 的C/c3 格式分为别:");
//打印出错
Console.WriteLine("num3={0:c} num4={1:c3} ", num3, num4);
num1 = 123456;
num2 = (-1) * num1;
Console.WriteLine();
Console.WriteLine("num1=123456 num2=-123456 的D9/d3/D 格式分别为:");
Console.WriteLine("num1={0:D9} num2={1:d3} num2={2:D}", num1, num2, num2);
Console.WriteLine();
Console.WriteLine("num3=1234.567 num4=-1234.567 的E/e2 格式分别为:");
Console.WriteLine("num3={0:E} num4={1:e2}", num3, num4);
Console.WriteLine();
num3 = 1234.567;
num4 = -1234.567;
Console.WriteLine("num3=1234.567 num4=-1234.567 的F1/f 格式分别为:");
Console.WriteLine("num3={0:F1} num4={1:f}", num3, num4);
Console.WriteLine();
num3 = 1234.567;
num4 = -1234.567;
Console.WriteLine("num3=1234.567 num4=-1234.567 的G3/g 格式分别为:");
Console.WriteLine("num3={0:G3} num4={1:g}", num3, num4);
Console.WriteLine();
num3 = 1234.567;
num4 = -1234.567;
Console.WriteLine("num3=1234.567 num4=-1234.567 的C/c格式分别为:");
Console.WriteLine("num3={0:C} num4={1:c}", num3, num4);
Console.WriteLine();
num3 = 1234.567;
num4 = -1234.567;
Console.WriteLine("num3=1234.567 num4=-1234.567 的G/g4 格式分别为:");
Console.WriteLine("num3={0:G} num4={1:g4}", num3, num4);
Console.WriteLine();
num3 = 1234.567;
num4 = -1234.567;
Console.WriteLine("num3=1234.567 num4=-1234.567 的N3/n 格式分别为:");
Console.WriteLine("num3={0:N3} num4={1:n}", num3, num4);
Console.WriteLine();
num1 = 123;
num2 = -123;
Console.WriteLine("num1=123 num2=-123 的X 格式分别为:");
Console.WriteLine("num1={0:X} num2={1:x}", num1, num2);
Console.Read();
}
}
}
//////////////////////////////////////////////////////////////////////////////////over
这是一条镜像帖。来源:北邮人论坛 / soft-design / #32929同步于 2009/3/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
【已解决】【菜鸟求助】 c# 格式化输出
Ink
2009/3/10镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 ink 的大作中提到: 】
: 我刚开始看,想试一下C#的格式化输出,结果在使用 C/c
: 格式化输出时,默认打印两位小数不适用
: 并且 ¥ 符号打印在负号的后面了
: ...................
是不是我什么地方设置的不对?
ps:
我把代码考到同版本的VS 上证明是没问题的
【 在 ink 的大作中提到: 】
: 我刚开始看,想试一下C#的格式化输出,结果在使用 C/c
: 格式化输出时,默认打印两位小数不适用
: 并且 ¥ 符号打印在负号的后面了
: ...................
其实设置一下currentthread的CurrentCulture就可以