作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在验证资金输入时遇到了一些问题。我使用了其他问题中的一些指示来编写一些更好的代码。以下是我用来验证输入是否为金钱的内容。
static void Main(string[] args)
{
string myTest1 = "$1,234.56";
string myTest2 = "$1.00";
string myTest3 = "$1000.01";
string myTest4 = "$1,234,567.89";
myIsMaybeMoneyValidator Miimv = new myIsMaybeMoneyValidator();
bool myResult1 = Miimv.isMaybeMoney(myTest1);
bool myResult2 = Miimv.isMaybeMoney(myTest2);
bool myResult3 = Miimv.isMaybeMoney(myTest3);
bool myResult4 = Miimv.isMaybeMoney(myTest4);
}
public bool isMaybeMoney(object theirMaybeMoney)
{
string myMaybeMoney = theirMaybeMoney.ToString();
if (myMaybeMoney.StartsWith("-"))
{
myMaybeMoney.Remove(0, 1);
}
if (!myMaybeMoney.StartsWith("$"))
{
return false;
}
myMaybeMoney.Remove(0, 1);
string[] myMaybeMoneyStringArray = myMaybeMoney.Split('.');
string myMaybeMoneyDollars = myMaybeMoneyStringArray[0];
string myMaybeMoneyCents = myMaybeMoneyStringArray[1];
if (!isDollars(myMaybeMoneyDollars))
{
return false;
}
if (!isCents(myMaybeMoneyCents))
{
return false;
}
return true;
}
private bool isDollars(string theirMaybeMoneyDollars)
{
if (!isNumber(theirMaybeMoneyDollars))
return false;
try
{
int myMaybeDollars = Convert.ToInt32(theirMaybeMoneyDollars);
if (myMaybeDollars < 1)
return false;
return true;
}
catch (Exception)
{
return false;
}
return true;
}
private bool isCents(string theirMaybeMoneyCents)
{
if (!isNumber(theirMaybeMoneyCents))
return false;
try
{
int myMaybeCents = Convert.ToInt32(theirMaybeMoneyCents);
if (myMaybeCents > 99)
return false;
if (myMaybeCents < 1)
return false;
return true;
}
catch (Exception)
{
return false;
}
return true;
}
private bool isNumber(object theirMaybeNumber)
{
return Microsoft.VisualBasic.Information.IsNumeric(theirMaybeNumber);
}
结果都不是钱,这让我很困惑。
最佳答案
看起来在 C# 中有一个内置的货币验证。
float num;
bool isValid = float.TryParse(str,
NumberStyles.Currency,
CultureInfo.GetCultureInfo("en-US"), // cached
out num);
关于c# - 验证我的钱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182858/
假设当加载一个字段时,它是空的。当用户键入 1 时,它表示 0.01,然后他在 1 (10) 之后键入另一个 0,它变为 0.10。当他输入另一个 1 时,它变成 1.10。 就像输入产品的价格一样。
介绍 选择编程语言来投入时间和精力时,有很多因素需要考虑,并且出现一些不确定性:"我可以被录用到某个工作岗位吗?","薪水足够吗?","语言会几个
我有 7.125(双),需要达到 7.15。什么可能是最简单的方法? 找到围捕,但我得到 7.13,请帮助。 谢谢 最佳答案 最简单的方法是乘以 20.0,舍入为整数,然后再次除以 20.0。可以这样
这是一道面试题: Given an amount, say $167.37 find all the possible ways of generating the change for this a
我是一名优秀的程序员,十分优秀!