【发布时间】:2011-02-03 02:45:34
【问题描述】:
如果我用 C# 或 Java 写成 25 美分,我将如何将其转换为 $.25?
【问题讨论】:
如果我用 C# 或 Java 写成 25 美分,我将如何将其转换为 $.25?
【问题讨论】:
您可能应该使用Decimal 数据类型,然后不要尝试将美分转换为美元,而是使用一种标准符号:
Decimal amount = .25M;
String.Format("Amount: {0:C}", amount);
输出为:Amount: $0.25;
【讨论】:
decimal m = Decimal.MaxValue - 1; (m / 3m * 3m) == m; // false(尽管我认为这类似于说 GUID 很快就会“用完”)。此外,交易货币的规则可能相当复杂(谁得到拆分中的零钱?)并且可能存在最小的货币单位。当然,这个帖子/问题远低于这些范围。
class Money
{
public int Dollar {get; set;}
public int Cent { get; set;}
public Money(int cents)
{
this.Dollar = Math.Floor(cents/100);
this.Cent = cents%100;
}
}
你可以这样使用它
int cents = Convert.ToInt32(Console.Readline("Please enter cents to convert:"))
Money money = new Money(cents);
Console.Writeline("$" + money.Dollar + "." + money.Cent);
【讨论】:
我认为这是最佳答案我用数组写的
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please input your cent or dollar");
int coins = int.Parse(Console.ReadLine());
int[] dollars = new int[2];
dollars[0] = coins / 100;
dollars[1] = coins % 100;
Console.WriteLine("{0} dollar and {1} coins", dollars[0], dollars[1]);
Console.ReadLine();
}
【讨论】: