【问题标题】:Conversion of String to type double将 String 转换为 double 类型
【发布时间】:2012-05-09 09:47:45
【问题描述】:

我有一个简单的下拉列表,如下所示,其中包含一些值:

<select id="Opacity">
     <option value="50">50%</option>
     <option value="100">100%</option>
</select>

现在我正在使用 ajax 调用将选定的值传递给我的 web 方法:

 $("#btnGetFiles").click(function () {
                ClearImages();
                $.ajax({
                    type: "POST",
                    url: "Default.aspx/GetFiles",
                    data: JSON.stringify({imgOpacity: $('#Opacity').val()}),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                    }
                 });
 });

现在在我的网络方法中,如果我将下拉值选择为“50”,则将值设为“50”

我的问题出现了,我需要在下面的代码中设置不透明度:

Dim imageOpacity As Single = 0.0F
imageOpacity = CInt(imgOpacity)
imageOpacity = imgOpacity / 100
imageOpacity = 1 - imgOpacity

Dim colorMatrixElements As Single()() = {New Single() {1.0F, 0.0F, 0.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 1.0F, 0.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 0.0F, 1.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 0.0F, 0.0F, imageOpacity , 0.0F}, 
New Single() {0.0F, 0.0F, 0.0F, 0.0F, 1.0F}}

Dim wmColorMatrix As New ColorMatrix(colorMatrixElements)

现在我需要将 "%" 添加到 "imgOpacity"。如果我尝试这样做 CInt(imgOpacity + "%") 它会给我一个错误指出字符串无法转换为类型“Double”

那么我该如何纠正呢?

【问题讨论】:

  • 您需要在哪里使用该不透明度?根据这一点,可以这样离开,将其除以每 100(但将数据类型从 Int 更改为 Decimal),或者将其设为字符串以便它可以包含 % 符号。
  • @ivowiblo- 需要在 imageOPacity=CInt(imgOpacity) 之前,如果我修改单双它给我同样的错误。
  • 但是为什么要在上面加上 % 呢?你想用那个变量做什么?计算什么?显示在页面上?保存到数据库?

标签: asp.net string double type-conversion opacity


【解决方案1】:

你为什么不把这个值除以 100?不是百分比是多少吗?


我认为这是一个没有注意到错字的情况,因为您的变量名非常相似。

看到这个sn-p

Dim imageOpacity As Single = 0.0F
imageOpacity = CInt(imgOpacity)
imageOpacity = imgOpacity / 100
imageOpacity = 1 - imgOpacity

这里第三和第四个语句的 R.H.S 必须从 imageOpacity 中获取值,而不是从 imgOpacity 中获取值。把那个 sn-p 改成这个。

Dim imageOpacity As Single = 1 - Convert.ToSingle(imgOpacity) / 100

然后,请再次将 imageOpacity 而不是 imgOpacity 分配给矩阵

【讨论】:

  • @naveen-首先感谢您的回复。但我在上面做了同样的事情。
  • @coder:是的,对不起。我仍然很困惑。如果您选择了 50%,请告诉我您想要的 imgOpacity 数组的值是多少?
  • @naveen-如果用户选择“50”,我需要将该值传递给 webmethod,然后从那里我尝试将该值“50”设置为“imagOpacity”。如果我没有离开向它添加任何“%”然后它不会向我显示任何错误并且它不会向图像添加任何不透明度。但是如果我按照上面所说的那样做某事然后它会给我一个错误。
【解决方案2】:

终于找到答案了。

我已将代码更改为:

 imageOpacity = Single.Parse(imgOpacity)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 2022-01-15
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多