如何从字符串中分离整数值并将其存储到C#中的变量中

时间:2017-07-25 09:38:53

标签: c# asp.net

我正在尝试使用微控制器获取电池电压,该控制器返回如下值:

  

1,1.93

所以我必须将此1,1.93值与此字符串分开并将其存储到变量中。我用过" REGEX"和" SPLIT"但两人都回来了

  

1
  1
  93

我怎么能像1,1.93

那样得到它
private void button1_Click_1(object sender, EventArgs e)
{
    WebRequest req = WebRequest.Create("http://192.168.27.123/Command=dvsync");
    WebResponse res = req.GetResponse();
    StreamReader rd = new StreamReader(res.GetResponseStream(), Encoding.ASCII);
    String val4 = (rd.ReadToEnd());
    textBox3.Text = val4;
    MessageBox.Show("Value" + val4);

}

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

如果它位于开始和结束string test = "<!DOCTYPE HTML><html>1,1.93</html>"; string [] res = test.Split(new string[] {"<html>", "</html>"}, StringSplitOptions.RemoveEmptyEntries); string number = res[1]; 标记之间,您可以通过以下方式使用jar { archiveName='name.jar' } 方法:

[2017-07-25 05:15:52,084] WARN could not get type for name mypackage.SplunkSinkConnector from any class loader (org.reflections.Reflections:384)
org.reflections.ReflectionsException: could not get type for name mypackage.SplunkSinkConnector
        at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:378)
        at org.reflections.ReflectionUtils.forNames(ReflectionUtils.java:397)
        at org.reflections.Reflections.getSubTypesOf(Reflections.java:367)
        at org.apache.kafka.connect.runtime.PluginDiscovery.connectorPlugins(PluginDiscovery.java:76)
        at org.apache.kafka.connect.runtime.PluginDiscovery.scanClasspathForPlugins(PluginDiscovery.java:70)
        at org.apache.kafka.connect.runtime.AbstractHerder$1.run(AbstractHerder.java:354)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: mypackage.SplunkSinkConnector
        at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:376)
        ... 6 more
[2017-07-25 05:15:52,419] INFO Reflections took 1586 ms to scan 62 urls, producing 3002 keys and 15379 values  (org.reflections.Reflections:229)
[2017-07-25 05:15:52,420] WARN could not get type for name mypackage.SplunkSinkConnector from any class loader (org.reflections.Reflections:384)
org.reflections.ReflectionsException: could not get type for name mypackage.SplunkSinkConnector
        at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:378)
        at org.reflections.ReflectionUtils.forNames(ReflectionUtils.java:397)
        at org.reflections.Reflections.getSubTypesOf(Reflections.java:367)
        at org.apache.kafka.connect.runtime.ConnectorFactory.getConnectorClass(ConnectorFactory.java:69)
        at org.apache.kafka.connect.runtime.ConnectorFactory.newConnector(ConnectorFactory.java:38)
        at org.apache.kafka.connect.runtime.AbstractHerder.getConnector(AbstractHerder.java:334)
        at org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:233)
        at org.apache.kafka.connect.runtime.standalone.StandaloneHerder.putConnectorConfig(StandaloneHerder.java:159)
        at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:93)
Caused by: java.lang.ClassNotFoundException: mypackage.SplunkSinkConnector
        at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.reflections.ReflectionUtils.forName(ReflectionUtils.java:376)
        ... 8 more

答案 1 :(得分:1)

将输入转换为double值需要解析或接收的数据,这可以使用XElement完成。然后使用InvariantCulture拆分并转换值。

string received = "<!DOCTYPE HTML><html>1,1.93</html>";
string parsedValue = XElement.Parse(received).Value;
double[] values = Array.ConvertAll(parsedValue.Split(','), v => double.Parse(v, CultureInfo.InvariantCulture));