标签: tryparse

Int32.TryParse(String,Int32)是否在失败时改变了int参数?

出于兴趣,可以安全地假设如果Int32.TryParse(String, Int32)失败,那么int参数将保持不变?例如,如果我希望我的整数具有默认值,哪个更明智?

int type;
if (!int.TryParse(someString, out type))
    type = 0;
Run Code Online (Sandbox Code Playgroud)

要么

int type = 0;
int.TryParse(someString, out type);
Run Code Online (Sandbox Code Playgroud)

.net tryparse

3
推荐指数
2
解决办法
313
查看次数

将指数数转换为十进制数1.11111117E + 9 - 尾随数字变为零

我正在尝试转换和指数数字1.11111117E + 9,这实际上是一个10位数字'1111111111'.当我尝试使用decimal.TryParse方法转换此指数时,它将最后3位数字设为零,并将数字设为" 111111000 ".任何10位数字都会发生这种情况.

   decimal amount;
   decimal.TryParse("1.11111117E+9", NumberStyles.Any, null, out amount);
Run Code Online (Sandbox Code Playgroud)

这很奇怪,但是我无法弄清楚这里有什么问题,有人能告诉我这有什么问题吗?

编辑: 对于误导性问题,我们深表歉意.正如亨里克在他的回答中提到的正是我所面对的.

float f = 1111111111;
string s = f.ToString();
decimal amount;
decimal.TryParse(s, NumberStyles.Any, null, out amount);
Run Code Online (Sandbox Code Playgroud)

这将永远返回1111111000?如何解决此问题以获得正确的值?从float数据类型更改为Double或Decimal是解决方案还是其他任何东西?

c# parsing decimal tryparse exponential

2
推荐指数
1
解决办法
2万
查看次数

我可以将Int.TryParse更改为在不成功的解析时返回-1而不是零吗?

Int.TryParse在不成功的解析中,我可以chagne 返回自定义数字(如-1)而不是零吗?

.net c# int parsing tryparse

2
推荐指数
1
解决办法
435
查看次数

C# 错误 CS0165:使用未分配的局部变量 - 忽略逻辑和输出引用

四处搜索后,我似乎无法找到为什么 C# 编译器抱怨本地变量dteDest 在行中未分配

if (dteSrc == dteDest) {
Run Code Online (Sandbox Code Playgroud)

如果我更换线路,错误就会消失

DateTime dteSrc, dteDest;
Run Code Online (Sandbox Code Playgroud)

DateTime dteSrc, dteDest = DateTime.MinValue;
Run Code Online (Sandbox Code Playgroud)

据我所知,如果 dteDest 没有被 DateTime.TryParse 初始化,它是一个 out 参数,那么代码永远不会到达比较行。

我的逻辑是:

  1. 如果 currentDataObj 为 null,则 booHaveOrigDate 为 false,第一个if失败
  2. 如果 currentDataObj 不为 null 但无法转换为 DateTime,则 booHaveOrigDate 为 false,如果失败则为第一个
  3. 如果 DateTime.TryParse 无法转换为 DateTime,则它将返回 false,这与 && 意味着永远不会使用 dteDest。

简单示例代码

void StrangeLogic(object srcData, object currentDataObj) {
   DateTime dteSrc, dteDest;

   bool booHaveNewDate = DateTime.TryParse(srcData.ToString(), out dteSrc);
   bool booHaveOrigDate = (currentDataObj != null) 
                          && …
Run Code Online (Sandbox Code Playgroud)

c# tryparse unassigned-variable

2
推荐指数
1
解决办法
2万
查看次数

如何检查空文本框

在网站上我发现了try解析方法(如何检查C#中是否有空文本框)但我不知道如何使用它.

int outputValue=0;
bool isNumber=false;
isNumber=int.TryParse(textBox1.Text, out outputValue); 
if(!isNumber)
{
 MessageBox.Show("Type numbers in the textboxes");
}
else
{
// some code
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能为1 +多个文本框解决这个问题

c# tryparse

2
推荐指数
1
解决办法
3万
查看次数

为什么Int32.TryParse为数字返回false?

我有这个代码:

string sPhone = "420777777777";
int rPhone;
bool valid = Int32.TryParse(sPhone, out rPhone); //false
if (!valid)
 return "";
return String.Format("{0:+### ### ### ###}", rPhone);
Run Code Online (Sandbox Code Playgroud)

我想格式化电话号码,所以我将字符串转换为int,但值valid总是为false.如何将此字符串转换为int?我也在尝试int.TryParseConvert.ToInt32.没有任何效果.

c# int parsing tryparse

2
推荐指数
1
解决办法
1433
查看次数

找到空格时,DateTime.TryParse应该失败

DateTime.TryParse 找到空格时应该失败.

例子:

String Acceptable:       "2015-01-01"
String Not Acceptable 1: " 2015-01-01"
String Not Acceptable 2: "2015-01-01 "
String Not Acceptable 3: "2015 -01-01 "
Run Code Online (Sandbox Code Playgroud)

我没有传递DateTimeStyles参数.

if (!DateTime.TryParse(StringDate, out Datetimedate)){...}
Run Code Online (Sandbox Code Playgroud)

如果StringDate有whitspace,解析不会失败.我希望它在有任何空格时失败.

.net c# tryparse

2
推荐指数
1
解决办法
359
查看次数

DateTime.TryParseExact()返回混合结果

我正在尝试解析一个包含一些DateTime线的巨大文件.由于某种原因,DateTime.TryParseExact仅在某些行上返回true而不在其他行上返回true.
我的DateParse.txt文件看起来像这样:

2015-02-27 01:01:30
2015-02-27 01:01:43
2015-02-27 01:01:53
2015-02-27 01:02:05
2015-02-27 01:02:15
2015-02-27 01:02:36
2015-02-27 01:02:51
2015-02-27 01:03:04
2015-02-27 01:03:21
2015-02-27 01:03:36
2015-02-27 01:03:46
2015-02-27 01:04:01
2015-02-27 01:04:13
2015-02-27 01:04:29
2015-02-27 01:04:40

string line;  
DateTime DateTime;  
    using (StreamReader Date = new StreamReader("C:\\DateParse.txt")  
        while((line = Date.ReadLine()) != null)  
            if (DateTime.TryParseExact(line, "yyyy-mm-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AssumeUniversal, out DateTime))  
                Console.WriteLine("True");  
            else  
                Console.WriteLine("False");  
Run Code Online (Sandbox Code Playgroud)

我的输出是:

False
False
False
False
True
True
True
True
其余都是假的......

任何帮助解决这个问题将不胜感激.

c# datetime tryparse

2
推荐指数
1
解决办法
176
查看次数

F#中int类型的NaN等效项是什么?

在F#中,我可以这样解析一个浮点数:

let tryParseFloat s =
    let ok,f = System.Double.TryParse s
    if ok then f else nan
Run Code Online (Sandbox Code Playgroud)

然后

let parsed = tryParse "123.123"
match parsed with
| nan -> ignore parsed
| _ -> dostuff parsed
Run Code Online (Sandbox Code Playgroud)

如何使用int实现类似的功能?

.net int f# tryparse

2
推荐指数
1
解决办法
1028
查看次数

C#DateTime.TryParseExact未按预期工作

我讨厌提出愚蠢的问题,但我已经通过MSDN文章几次并尝试了一小时的东西,但无论我尝试什么,我都无法使这种格式起作用.这是我正在尝试解析的内容:

星期四,6月22日

bool parsed = DateTime.TryParseExact("Thu, Jun 22", @"ddd, MMM dd", CultureInfo.Invariant, DateTimeStyles.None, out dateAndTime);
Run Code Online (Sandbox Code Playgroud)

使用格式:

ddd, MMM dd
Run Code Online (Sandbox Code Playgroud)

删除ddd,工作原因我很确定第一部分有什么东西,但我不确定是什么.我试过用''围绕逗号并用反斜杠逃避它,没有运气.

.net c# datetime tryparse

2
推荐指数
1
解决办法
51
查看次数

标签 统计

tryparse ×10

c# ×8

.net ×5

int ×3

parsing ×3

datetime ×2

decimal ×1

exponential ×1

f# ×1

unassigned-variable ×1