我想在货币格式数据中找到哪个货币符号.
例如,输入字符串= $ 56.23
public class FormatConverter
{
private CultureInfo _cultureInfo;
public void UpdateCultureInfo()
{
Thread.CurrentThread.CurrentCulture.ClearCachedData();
var thread = new Thread(
s => _cultureInfo = Thread.CurrentThread.CurrentCulture);
thread.Start();
thread.Join();
}
Bool TryParseCurrencySymbolAndValue(string input, out string CurrencySymbol,
out double value)
{
if(_cultureInfo == null)
UpdateCultureInfo();
try{
// Convert Currency data into double
value = Double.Parse(input, NumberStyles.Number | NumberStyles.AllowCurrencySymbol);
// How to extract Currency Symbol?
CurrencySymbol = "$";
return true;
}
catch(Exception ex){ /* Exception Handling */}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我想分别从字符串和56.23中提取"$"符号然后我想将CultureInfo应用到56.23到法语格式.产量应为56,23美元.
在某些情况下,输入可能是"欧元符号"或输入字符串开头或结尾的某些其他货币符号. …
我目前正在制作税务程序(研究项目),该程序读取CSV文件并生成人员和帐户余额列表,我需要从一个文本框中向下舍入2个小数位,然后将其添加到另一个文本框中.我附带的代码告诉我我不能用"*"我怎么用0.1的小数乘以?如果我这样做错了让我知道,干杯!
public partial class Form1 : Form
{
//CSV ARRAY LISTS
List<string> fullName = new List<string>();
List<string> accBalance = new List<string>();
int currentItem;
int index;
int counter = 0;
decimal interestBalance = 0;
decimal result;
decimal interestRemainder = 0;
double round = 0.1;
private void interestBalanceBox_TextChanged(object sender, EventArgs e)
{
interestRemainder = decimal.Parse(interestBalanceBox.Text);
interestRemainder = Math.Truncate(0.1 * interestRemainder) / 100;
interestRemainderBox.Text = interestRemainder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我们打算代表的程序就在这里!任何帮助将非常感激.
我有一个程序,用于使用 gridview 将值输入到数据库中。gridview 填充了来自 DataSet 的“空”结果,该数据集从我想要的表中查询该数据库。这会用我想要的正确列填充网格(即,具有来自数据库中某个表的空行的网格)。当您填写列时,我会获取数据并手动更新数据库。
我如何使用 gridview 的基本示例:
this.fullUutDataTableAdapter.Fill(this.dalsaUutDataSet.ResultsFullUut);
DataView dv = this.dalsaUutDataSet.ResultsFullUut.DefaultView;
Grid_modify.DataSource = dv;
foreach(DataGridViewRow dr in Grid_modify.Rows)
{
dr.Cells["YieldID"].Value = -1;
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望某些列具有默认值。我曾尝试更改列的默认值,但您无法更改该属性,只能“获取”它。或者,我尝试解析空网格中的行并填充值。这在网格最初加载时工作正常(值显示在适当的位置)。但是,一旦我进入编辑模式,这些值就会清除为零。
接下来,我尝试使用一些 RowEdit 事件并尝试在进入编辑模式时填充值,但是,这会在您进入和离开编辑模式时导致问题。似乎是一种更复杂和凌乱的做事方式,看似必要。
所以问题是,在某些列中使用默认值填充 gridview 的最佳方法是什么?
我更喜欢“最干净”的解决方案。然而,我认识到事情并不总是那样发展......
提前感谢您的帮助!干杯。
我已成功在C#中反序列化此JSON字符串,但无法从嵌套在数组中的对象中提取值:
JavaScriptSerializer js = new JavaScriptSerializer();
string json =
{"key":"1234","status":"ok","members":
[{"id":7,"name":"Joe"},
{"id":2,"name":"Robert"},
{"id":18,"name":"Tim"}
]
}
var d = js.Deserialize < dynamic > (json);
string _key = d["key"]; // this works
Array _members = d["members"]; // this works, length = 3
Run Code Online (Sandbox Code Playgroud)
但是我无法通过名称从对象中提取值,例如,这不对,但基本上我想要
_members [0] ["name"]或,_members [0] .name
我认为反序列化器会在数组字典中创建对象,但我想我正在清除丢失的东西......
我目前有:
UIEnumerable <IGrouping<PortableKey, FileInfo>>
Run Code Online (Sandbox Code Playgroud)
从这段代码:
var queryDupFiles = from file in fileList
group file by new PortableKey { Name = file.Name, Length = file.Length }
into g
where g.Count() > 1
select g;
Run Code Online (Sandbox Code Playgroud)
PortableKey的代码是:
public class PortableKey
{
public string Name { get; set; }
public long Length { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
基本上过滤和抓取所有重复的文件.我如何获得它以便以这种方式拥有所有FileInfo?
List<FileInfo> list
Run Code Online (Sandbox Code Playgroud) 我正在尝试传入一个SQL字符串来删除一些记录.我正在使用DbContext.Database.ExecuteSqlCommand函数,但是除了SQL字符串之外,它还需要一个参数列表:params Object []参数
由于我不需要发送任何参数,我尝试传递null,但这会产生错误,说null不是有效参数.我找不到该方法的重载.如何发送不需要其他参数的SQL命令?这是我的代码示例:
db.Database.ExecuteSqlCommand("DELETE FROM SignoffCommentAttachment
WHERE SignoffCommentAttachment.SignoffCommentID
IN (SELECT [SignoffCommentID] FROM [SignoffComments]
WHERE SignoffID = " + signOffID.ToString() + ")", null);
Run Code Online (Sandbox Code Playgroud) 我试图理解这个方法调用是如何工作的Linq statement.我有一行代码,例如:
foreach (var model in myDataList.Select(RenderMyData))
{
pPoint.CreateStuff(model, true);
}
Run Code Online (Sandbox Code Playgroud)
和RenderMyData看起来像这样:
protected PowerPoint.MyModel RenderMyData(CustomData myData)
{
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
CustomData对象如何传递给RenderMyData方法?如果我想在RenderMyData方法中添加另一个参数(比如bool)那么我如何在linq select中传递它?
我试图获取特定文件的最后写入时间.这是代码,它的工作原理:`
DirectoryInfo DR = new DirectoryInfo(folderPath);
FileInfo[] FR2 = DR.GetFiles("InputData.csv");
var FileLastModified= null;
foreach (FileInfo F1 in FR2)
{
FileLastModified = F1.LastWriteTime;
}
Run Code Online (Sandbox Code Playgroud)
FileLastModified给了我最后的写入时间,我只想找到这个InputData.csv文件的时间.问题是我不想使用for循环,只需要一个特定文件的写入时间.有没有更好的方法来写这个没有循环?
我在其他地方找不到这个.我有一系列的清单:
public List<xmldata>[] XMLArrayList = new List<xmldata>[9999];
Run Code Online (Sandbox Code Playgroud)
要初始化并将列表插入每个位置,我执行以下操作:
for(int m=0; m< XList.XMLArrayList.Count(); m++)
{
XList.XMLArrayList[m] = new List<xmldata>();
}
Run Code Online (Sandbox Code Playgroud)
但我想计算有多少元素不为空.EX:位置0到5有一个列表.但其他职位没有.
尝试了linq方法:
int count = XList.XMLArrayList.Count(x => x != null);
Run Code Online (Sandbox Code Playgroud)
但它返回数组大小(9999).如何计算列表数组中的非null元素?Ps:已经尝试过字典和列表清单 - 这种方法最适合实现我所需要的.
谢谢.
所以我试图在文件中搜索一些特定的字符串,这些字符串在a中list被调用并被调用universities,我正在使用a 来加载文件.CoursesUGPGStreamreader
我遇到的问题是,在第一个foreach循环执行剩余的搜索之后,我想要完成返回,N/a就像文本文件中不存在字符串一样.但是我知道它们在文本文件中.
有没有理由这样或更好的方法来编码?
我的代码如下.
任何帮助将不胜感激.
validdirectory = new DirectoryInfo(path);
Vfiles = validdirectory.GetFiles("*.txt");
foreach (FileInfo file in Vfiles)
{
//reads the file contents
bool Stepout = false;
bool nextouterloop = false;
using (StreamReader ReadMessage = new StreamReader(file.FullName))
{
String MessageContents = ReadMessage.ReadToEnd();
Message_Viewer.Text = MessageContents;
foreach (string Uni_Name in Universities)
{
if (MessageContents.Contains(Uni_Name))
{
Display_Uni.Text = Uni_Name;
}
}
foreach (string course in Courses)
{
if (MessageContents.Contains(course))
{
Display_Course.Text …Run Code Online (Sandbox Code Playgroud) c# ×10
linq ×2
list ×2
.net ×1
arrays ×1
datagridview ×1
dataset ×1
events ×1
fileinfo ×1
igrouping ×1
json ×1
sql-server ×1
streamreader ×1
tax ×1