У меня проблема с моим калькулятором скорости загрузки/выгрузки. Я записываю номера в «inputBox», и я думаю, что он не может его разобрать. Вот этот код:Вычисление ошибки загрузки/выгрузки
! ОБНОВЛЕНО!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Net.NetworkInformation;
namespace Tomco_DownloadTime {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
timeLabel.Text = DateTime.Now.ToString("HH:mm tt");
}
IPv4InterfaceStatistics stat = NetworkInterface.GetAllNetworkInterfaces() [0].GetIPv4Statistics();
private double getKBDownloadSpeed() {
return (stat.BytesReceived)/1024;
}
private double getMBDownloadSpeed() {
return ((stat.BytesReceived)/1024)/1024;
}
private double getGBDownloadSpeed() {
return (((stat.BytesReceived)/1024)/1024)/1024;
}
private double getKBUploadSpeed() {
return (stat.BytesSent)/1024;
}
private double getMBUploadSpeed() {
return ((stat.BytesSent)/1024)/1024;
}
private double getGBUploadSpeed() {
return (((stat.BytesSent)/1024)/1024)/1024;
}
private void startButton_Click(object sender,EventArgs e) {
this.Width = 335;
this.Height = 154;
double size = double.Parse(inputBox.Text);
if(roundingCheckBox.Checked == true) {
if(downloadCheckBox.Checked == true) {
// download
if(kbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (KB):";
double kbSpeed = size/getKBDownloadSpeed();
outputLabel.Text = kbSpeed.ToString();
}
if(mbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (MB):";
}
if(gbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (GB):";
}
}
if(uploadCheckBox.Checked) {
//upload
if(kbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (KB):";
}
if(mbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (MB):";
}
if(gbCheckBox.Checked) {
sizeTypeLabel.Text = "Size (GB):";
}
}
} else {
}
}
private void optionsButton_Click(object sender,EventArgs e) {
this.Width = 335;
this.Height = 241;
}
}
}
Почему я думаю, что существует проблема с разбором? Потому что, если я добавлю числа в inputBox и нажмите кнопку «Calculate», появится MessageBox и отобразит ошибку.
Вы пробовали положить точку останова на кнопку рассчитайте и отладки? – Killingsworth
Какой номер вы вводили? И вы позаботились о том, чтобы использовать или. в зависимости от настроек языка/культуры? –
@ Killingsworth Я предполагаю, что он означает ошибку в конце: MessageBox.Show («Пожалуйста, введите действительное число с плавающей запятой, например: 3.14», «TOMCO DT - ERROR: ... –