2009-12-31 69 views
0

我试图验证范围美元金额。该值必须小于(不等于)可以用多种货币表示的输入货币数量。计算国际货币的最大值 - 减去一个单位

如何表示该值?我应该转换为十进制还是减去0.01?如果这不起作用,为什么不呢?我正在使用C#。

我可能在想一个明显的解决方案,所以“Uhhhh do'X'”类型的响应不会让我感到意外。

感谢您的任何见解。

+1

咦? isValid = lambda美元,rate,foreign:(美元 2009-12-31 16:32:59

+2

为什么你认为美元的金额总是会低于其他货币的金额? 即使你是正确的,为什么你不能只测试dollarAmount 2009-12-31 16:33:50

+0

我正在使用RangeValidator并试图找出为最大值设置的内容。输入的值不能大于表单上的另一个值(最大值) – 2009-12-31 16:45:11

回答

0

看你如何说它可以用不同的货币,你是比较两个同一货币的价值?如果不是,那么您的范围将需要更加动态,因为一些外币可能会导致数量大于初始值。

因此,例如,如果您将100美元与YEN进行比较,那么对于今天的9200日元(平均),每美元约为92日元。这不会真的匹配。最好将相同货币与范围的同一货币进行比较。

此外,你从来没有说过你的范围是什么。你只是在谈论你的最大值。你最喜欢什么?如果你有负数的话,它是零吗?如果这是一个交易应用程序,你可以有正面和负面的。

如果您有最大价值,您最好的办法是将您输入的值转换为您拥有的任何类似货币,然后调整确认其小于或等于您的最大值。在代码隐藏验证和范围验证器中,这可能会更好。

因此,让我们假设您使用的是一个交易应用程序。你有一个贸易限额说1000美元。用户正在YEN进行国际贸易。当你去做支票时,你必须得到当天的外汇汇率,把它分成你的YEN输入金额,并确认它小于或等于你的限额。在交易场景中,您可以使用ABS值,以使“买入”或“卖出”净值达到相同的1000限制。由于这比简单的范围检查稍微复杂一点,我个人建议您使用jQuery/AJAX或仅仅使用简单的代码来进行自己的验证。

可能会让你的生活更轻松。