将String转换为double类型

时间:2012-04-29 09:27:14

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

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

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

现在我使用ajax调用将所选值传递给我的webmethod:

 $("#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”类型

那我该如何纠正呢?

2 个答案:

答案 0 :(得分:1)

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

<小时/> 我认为这是一个错误的例子,因为你的变量名非常相似。

请参阅此代码段

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

此处第三和第四个陈述的R.H.S必须取imageOpacity而不是 imgOpacity 的值。将该代码段更改为此。

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

之后请再次将imageOpacity而非 imgOpacity 分配给矩阵

答案 1 :(得分:0)

终于找到了答案。

我已将代码更改为:

 imageOpacity = Single.Parse(imgOpacity)