Skip to content

Commit 59868a1

Browse files
author
linzhijun
committed
fix
1 parent c912d89 commit 59868a1

File tree

4 files changed

+32
-32
lines changed

4 files changed

+32
-32
lines changed

csharp/ToolGood.Algorithm/AlgorithmEngineEx.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public void AddParameter(string key, bool obj)
104104
/// <param name="obj"></param>
105105
public void AddParameter(string key, short obj)
106106
{
107-
_tempdict[key] = Operand.Create((int)obj);
107+
_tempdict[key] = Operand.Create(obj);
108108
}
109109

110110
/// <summary>
@@ -124,7 +124,7 @@ public void AddParameter(string key, int obj)
124124
/// <param name="obj"></param>
125125
public void AddParameter(string key, long obj)
126126
{
127-
_tempdict[key] = Operand.Create((double)obj);
127+
_tempdict[key] = Operand.Create(obj);
128128
}
129129

130130
/// <summary>
@@ -134,7 +134,7 @@ public void AddParameter(string key, long obj)
134134
/// <param name="obj"></param>
135135
public void AddParameter(string key, ushort obj)
136136
{
137-
_tempdict[key] = Operand.Create((int)obj);
137+
_tempdict[key] = Operand.Create(obj);
138138
}
139139

140140
/// <summary>
@@ -144,7 +144,7 @@ public void AddParameter(string key, ushort obj)
144144
/// <param name="obj"></param>
145145
public void AddParameter(string key, uint obj)
146146
{
147-
_tempdict[key] = Operand.Create((double)obj);
147+
_tempdict[key] = Operand.Create(obj);
148148
}
149149

150150
/// <summary>
@@ -154,7 +154,7 @@ public void AddParameter(string key, uint obj)
154154
/// <param name="obj"></param>
155155
public void AddParameter(string key, ulong obj)
156156
{
157-
_tempdict[key] = Operand.Create((double)obj);
157+
_tempdict[key] = Operand.Create(obj);
158158
}
159159

160160
/// <summary>
@@ -164,7 +164,7 @@ public void AddParameter(string key, ulong obj)
164164
/// <param name="obj"></param>
165165
public void AddParameter(string key, float obj)
166166
{
167-
_tempdict[key] = Operand.Create((double)obj);
167+
_tempdict[key] = Operand.Create(obj);
168168
}
169169

170170
/// <summary>
@@ -184,7 +184,7 @@ public void AddParameter(string key, double obj)
184184
/// <param name="obj"></param>
185185
public void AddParameter(string key, decimal obj)
186186
{
187-
_tempdict[key] = Operand.Create((double)obj);
187+
_tempdict[key] = Operand.Create(obj);
188188
}
189189

190190
#endregion number

csharp/ToolGood.Algorithm/Internals/Functions/FunctionBase.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,9 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
541541
var args2 = func2.Evaluate(work, tempParameter); if (args2.IsError) { return args2; }
542542

543543
if (args1.IsNumber && args2.IsNumber) { // 优化性能
544-
if (args1.NumberValue == 1) { return args2; }
545-
if (args2.NumberValue == 1) { return args1; }
546-
if (args1.NumberValue == 0 || args2.NumberValue == 0) { return Operand.Zero; }
544+
if (args1.NumberValue == 1m) { return args2; }
545+
if (args2.NumberValue == 1m) { return args1; }
546+
if (args1.NumberValue == 0m || args2.NumberValue == 0m) { return Operand.Zero; }
547547
return Operand.Create(args1.NumberValue * args2.NumberValue);
548548
}
549549

@@ -586,8 +586,8 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
586586
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "*", 1); if (args1.IsError) { return args1; } }
587587
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "*", 2); if (args2.IsError) { return args2; } }
588588

589-
if (args1.NumberValue == 1) { return args2; }
590-
if (args2.NumberValue == 1) { return args1; }
589+
if (args1.NumberValue == 1m) { return args2; }
590+
if (args2.NumberValue == 1m) { return args1; }
591591

592592
return Operand.Create(args1.NumberValue * args2.NumberValue);
593593
}
@@ -614,8 +614,8 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
614614
var args2 = func2.Evaluate(work, tempParameter); if (args2.IsError) { return args2; }
615615

616616
if (args1.IsNumber && args2.IsNumber) { // 优化性能
617-
if (args2.NumberValue == 1) { return args1; }
618-
if (args2.NumberValue == 0) { return Operand.Error("Div 0 is error!"); }
617+
if (args2.NumberValue == 1m) { return args1; }
618+
if (args2.NumberValue == 0m) { return Operand.Error("Div 0 is error!"); }
619619
return Operand.Create(args1.NumberValue / args2.NumberValue);
620620
}
621621

@@ -675,7 +675,7 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
675675
var args2 = func2.Evaluate(work, tempParameter); if (args2.IsError) { return args2; }
676676

677677
if (args1.IsNumber && args2.IsNumber) { // 优化性能
678-
if (args2.NumberValue == 0) { return Operand.Error("Div 0 is error!"); }
678+
if (args2.NumberValue == 0m) { return Operand.Error("Div 0 is error!"); }
679679
return Operand.Create(args1.NumberValue % args2.NumberValue);
680680
}
681681

@@ -708,7 +708,7 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
708708
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "%", 1); if (args1.IsError) { return args1; } }
709709
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "%", 2); if (args2.IsError) { return args2; } }
710710

711-
if (args2.NumberValue == 0) { return Operand.Error("Div 0 is error!"); }
711+
if (args2.NumberValue == 0m) { return Operand.Error("Div 0 is error!"); }
712712

713713
return Operand.Create(args1.NumberValue % args2.NumberValue);
714714
}
@@ -734,8 +734,8 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
734734
var args2 = func2.Evaluate(work, tempParameter); if (args2.IsError) { return args2; }
735735

736736
if (args1.IsNumber && args2.IsNumber) { // 优化性能
737-
if (args1.NumberValue == 0) { return args2; }
738-
if (args2.NumberValue == 0) { return args1; }
737+
if (args1.NumberValue == 0m) { return args2; }
738+
if (args2.NumberValue == 0m) { return args1; }
739739
return Operand.Create(args1.NumberValue + args2.NumberValue);
740740
}
741741

@@ -768,18 +768,18 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
768768
if (args1.IsDate) {
769769
if (args2.IsDate) return Operand.Create(args1.DateValue + args2.DateValue);
770770
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "+", 2); if (args2.IsError) { return args2; } }
771-
if (args2.NumberValue == 0) { return args1; }
771+
if (args2.NumberValue == 0m) { return args1; }
772772
return Operand.Create(args1.DateValue + args2.NumberValue);
773773
} else if (args2.IsDate) {
774774
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "+", 1); if (args1.IsError) { return args1; } }
775-
if (args1.NumberValue == 0) { return args2; }
775+
if (args1.NumberValue == 0m) { return args2; }
776776
return Operand.Create(args2.DateValue + args1.NumberValue);
777777
}
778778
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "+", 1); if (args1.IsError) { return args1; } }
779779
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "+", 2); if (args2.IsError) { return args2; } }
780780

781-
if (args1.NumberValue == 0) { return args2; }
782-
if (args2.NumberValue == 0) { return args1; }
781+
if (args1.NumberValue == 0m) { return args2; }
782+
if (args2.NumberValue == 0m) { return args1; }
783783

784784
return Operand.Create(args1.NumberValue + args2.NumberValue);
785785
}
@@ -805,7 +805,7 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
805805
var args2 = func2.Evaluate(work, tempParameter); if (args2.IsError) { return args2; }
806806

807807
if (args1.IsNumber && args2.IsNumber) { // 优化性能
808-
if (args2.NumberValue == 0) { return args1; }
808+
if (args2.NumberValue == 0m) { return args1; }
809809
return Operand.Create(args1.NumberValue - args2.NumberValue);
810810
}
811811

@@ -838,7 +838,7 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
838838
if (args1.IsDate) {
839839
if (args2.IsDate) return Operand.Create(args1.DateValue - args2.DateValue);
840840
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "-", 2); if (args2.IsError) { return args2; } }
841-
if (args2.NumberValue == 0) { return args1; }
841+
if (args2.NumberValue == 0m) { return args1; }
842842
return Operand.Create(args1.DateValue - args2.NumberValue);
843843
} else if (args2.IsDate) {
844844
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "-", 1); if (args1.IsError) { return args1; } }
@@ -847,7 +847,7 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
847847
if (args1.IsNotNumber) { args1 = args1.ToNumber("Function '{0}' parameter {1} is error!", "-", 1); if (args1.IsError) { return args1; } }
848848
if (args2.IsNotNumber) { args2 = args2.ToNumber("Function '{0}' parameter {1} is error!", "-", 2); if (args2.IsError) { return args2; } }
849849

850-
if (args2.NumberValue == 0) { return args1; }
850+
if (args2.NumberValue == 0m) { return args1; }
851851

852852
return Operand.Create(args1.NumberValue - args2.NumberValue);
853853
}

csharp/ToolGood.Algorithm/Internals/Functions/FunctionBase.time.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -456,15 +456,15 @@ public override Operand Evaluate(AlgorithmEngine work, Func<string, Operand> tem
456456

457457
var t = ((DateTime)args1.DateValue).DayOfWeek;
458458
if (type == 1) {
459-
return Operand.Create((double)(t + 1));
459+
return Operand.Create((int)(t + 1));
460460
} else if (type == 2) {
461-
if (t == 0) return Operand.Create(7d);
462-
return Operand.Create((double)t);
461+
if (t == 0) return Operand.Create(7);
462+
return Operand.Create((int)t);
463463
}
464464
if (t == 0) {
465-
return Operand.Create(6d);
465+
return Operand.Create(6);
466466
}
467-
return Operand.Create((double)(t - 1));
467+
return Operand.Create((int)(t - 1));
468468
}
469469
public override void ToString(StringBuilder stringBuilder, bool addBrackets)
470470
{

csharp/ToolGood.Algorithm/Operand.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ public abstract class Operand
3838
/// <summary>
3939
/// One
4040
/// </summary>
41-
public static readonly Operand One = Operand.Create(1);
41+
public static readonly Operand One = Operand.Create(1m);
4242

4343
/// <summary>
4444
/// Zero
4545
/// </summary>
46-
public static readonly Operand Zero = Operand.Create(0);
46+
public static readonly Operand Zero = Operand.Create(0m);
4747

4848
#region IsNull IsNumber IsText IsBoolean IsArray IsDate IsJson IsArrayJson IsError ErrorMsg
4949
/// <summary>

0 commit comments

Comments
 (0)