问候.
想象一下,你已经获得了一个字符串(来自某个你无法控制的地方).在该字符串中是十进制数.您希望将逗号(即:将1234567.89转换为1,234,567.89)添加到该数字,同时保持整个字符串不变.数字前的货币符号会有所不同,但逗号格式不必因文化而异.
在.NET中有一种简单的方法吗?
如果没有一个简单的方法,我将进一步详细说明我计划做的事情.我们可以使用string.Substring()来获取数字,因为它总是在一些静态文本之间.例如:
我们的字符串
string s1 = "Blah Blah Blah. Total price: $1234567.89; Blah Blah Blah Blah"
Run Code Online (Sandbox Code Playgroud)
我们可以得到这样的价格:
int start = s1.IndexOf("Total price: ") + 13;
int length = s1.IndexOf(";") - start;
string trim = s1.Substring(start, length);
Run Code Online (Sandbox Code Playgroud)
抓住货币角色,剩下的就是:
char curr = trim[0];
string sAmount = s1.Substring(1, s1.Length);
Run Code Online (Sandbox Code Playgroud)
现在我们可以格式化小数:
decimal dAmount;
if (decimal.TryParse(sAmount, out dAmount))
{
string formattedPrice = curr + dAmount.ToString("N2");
Console.WriteLine(formattedPrice);
}
Run Code Online (Sandbox Code Playgroud)
现在我可以将生成的字符串插回到我应该去的原始字符串中.写这个问题的关键在于,这对我来说非常讨厌,我希望找到一个更好的方法来解决这个问题.
谢谢你的时间.我将在接下来的一个小时内对此进行更新,并将在该时间内选择答案.
我正在调试一些意外的行为,在跟踪.NET框架时,我看到一堆这样的东西:
if (Logging.On) {
Logging.PrintInfo(Logging.Web, this, SR.GetString(SR.net_log_n_certs_after_filtering, filteredCerts.Count));
…
}
Run Code Online (Sandbox Code Playgroud)
但是(正如默认预期的那样)执行步骤就在这些上面.有没有办法打开日志记录?或者这只是框架开发人员在构建框架的特殊构建时可以做的事情?
我的团队一直在主人的原型分支工作.我现在想要完成这项工作,将其分成不同的"功能分支",然后将它们单独合并到master中.我看到有几种方法可以做到这一点,我都不喜欢这样做:
1 - 在master之外创建一个新分支Feature_1 .手动将Prototype中的代码复制到Feature_1.这意味着当我去创作Feature_N并且我失去历史时,我必须跟踪我复制的内容.
2 - 从Prototype创建一个新的分支Feature_1 .以某种方式还原不属于Feature_1中第一个功能的代码.这避免说谎git(并保留历史记录),但感觉Feature_N将是一个混乱,因为我会告诉主人,当我推动Feature_1时,更改被还原.
我错过了一个更好的方法吗?
我在Web表单上使用了一堆不同的asp.net验证控件.其中一些将其Text属性设置为"*Error"或"您错过了这些字段"之类的内容.
但是,一些CustomValidator控件具有空白的Text属性.我故意将它们留空,因为我根据哪种情况失败动态添加ErrorMessage.(CustomValidator可能有许多不同的条件,我设置args.IsValid = false)
发生错误时,我设置的ErrorMessage属性将显示在ValidationSummary和Validator控件内.我不希望这样.我希望能够在ValidationSummary中显示ErrorMessage,而不是在BaseValidator.Text属性中显示.
我的第一次尝试是将Text属性设置为空格"".那没用.
我实现的(现在)是一个显示为背景颜色相同的时期.这是一个黑客 - 我不喜欢它.哎呀,也许这就是我在这里的原因!
这是代码:
<asp:CustomValidator ID="StackOverflowValidator" runat="server"
Text="."
CssClass="validatorstyle"
Display="Dynamic"
OnServerValidate="validate_AllowedToDoSomething"
ValidationGroup="MainGroup" />
<asp:ValidationSummary ID="mainGroupValidationSummary" runat="server"
ValidationGroup="MainGroup"
DisplayMode="BulletList"
HeaderText="There was an error in saving. Please check the following:" />
Run Code Online (Sandbox Code Playgroud)
在validate_AllowedToDoSomething里面我打电话:
StackOverflowValidator.ErrorMessage = "Custom Error Message #1";
args.IsValid = false;
return;
Run Code Online (Sandbox Code Playgroud)
我得到的是"自定义错误消息#1" 两次在Web表单上.提前致谢!
我很好奇,好像有人使用任何方法从perforce获取数据到托管语言.我在那里找到了一些示例应用程序,我希望这里有人能够成功地做到这一点并提供一些建议.
谢谢!