Skip to content

Commit beae170

Browse files
committed
[1.5.3]新增GetFloat以支持String->Double
新增GetFloat以支持String->Double
1 parent e2d6fff commit beae170

5 files changed

Lines changed: 34 additions & 3 deletions

File tree

LinePutScript/Line.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -647,7 +647,7 @@ public double GetFloat(string subName, double defaultvalue = default)
647647
Sub? sub = Find(subName);
648648
if (sub == null)
649649
return defaultvalue;
650-
return info.GetDouble();
650+
return info.GetFloat();
651651
}
652652
/// <summary>
653653
/// 设置double(long)属性的sub 通过转换long获得更精确的小数,小数位最大保留9位

LinePutScript/LinePutScript.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>LinePutScript</RootNamespace>
1111
<AssemblyName>LinePutScript</AssemblyName>
12-
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
1313
<LangVersion>8.0</LangVersion>
1414
<FileAlignment>512</FileAlignment>
1515
<Deterministic>true</Deterministic>

LinePutScript/LpsDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ public double GetFloat(string lineName, double defaultvalue = default)
852852
Line? line = FindLine(lineName);
853853
if (line == null)
854854
return defaultvalue;
855-
return line.InfoToDouble;
855+
return line.info.GetFloat();
856856
}
857857
/// <summary>
858858
/// 设置double(long)属性的line 通过转换long获得更精确的小数,小数位最大保留9位

LinePutScript/SetObject.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,37 @@ public double GetDouble()
253253
}
254254
}
255255
/// <summary>
256+
/// 转换成 double(int64) 类型
257+
/// </summary>
258+
public double GetFloat()
259+
{
260+
switch (Type)
261+
{
262+
case ObjectType.Integer:
263+
return (int)Value;
264+
case ObjectType.Integer64:
265+
return (long)Value;
266+
case ObjectType.DateTime:
267+
return ((DateTime)Value).Ticks;
268+
case ObjectType.Double:
269+
case ObjectType.Float:
270+
return (double)Value;
271+
case ObjectType.String:
272+
if (long.TryParse((string)Value, out long result))
273+
{
274+
return result / 1000000000.0;
275+
}
276+
else
277+
{
278+
return 0;
279+
}
280+
case ObjectType.Boolean:
281+
return (bool)Value ? 1 : 0;
282+
default:
283+
return 0;
284+
}
285+
}
286+
/// <summary>
256287
/// 转换成 DateTime 类型
257288
/// </summary>
258289
public DateTime GetDateTime()

nuget/LinePutScript.1.5.3.nupkg

210 KB
Binary file not shown.

0 commit comments

Comments
 (0)