PDA

View Full Version : سوال: حذف یک مقدار خاص از رشته



comboy22
چهارشنبه 31 خرداد 1391, 01:50 صبح
Dim number As Decimal
If (Decimal.TryParse(TextBox11.Text, number)) Then
TextBox11.Text = String.Format("{0:N0}", number)
TextBox11.SelectionStart = TextBox11.Text.Length
End If
دوستان عزیز میخواهم در کد بالا که 3 رقم 3 رقم اعداد را در تکست باکس جدا میکند ویرگول را حذف کنم و عدد حاصل را به صورت int در دیتا بیس ذخیره کنم

ROSTAM2
چهارشنبه 31 خرداد 1391, 02:08 صبح
مي شه از تابع Replace استفاده كرد


Dim X_Num As Decimal
X_Num = CDec( Replace(TextBox11.Text,",",""))

comboy22
چهارشنبه 31 خرداد 1391, 14:22 عصر
مي شه از تابع Replace استفاده كرد


Dim X_Num As Decimal
X_Num = CDec( Replace(TextBox11.Text,","))


دوست عزیز به ارگومان این متد ایراد میگیرد و انرا اجرا نمیکند اگه میشه کمک کنید

comboy22
چهارشنبه 31 خرداد 1391, 16:23 عصر
دوست عزیز این کد کمکم نکرد و اصلا نمی تواند داده را از حالت varchar به int تبدیل کند و ویرگول را از text من حذف نمیکند

comboy22
چهارشنبه 31 خرداد 1391, 20:10 عصر
dc = New SqlCommand("Select * from r where pricem between '" & TextBox15.Text & "' and '" & TextBox16.Text & "'", con)
من این خط کد رو توی برنامه ام دارم و می خواهم بین دو تکست باکسم سرچی را انجام دهم و برای این کار باید داده خودم را در جدول به صورت int در بیاورم تا مقادیر جستجو درست حاصل شود ولی وقتی من تکست باکس خودم را به صورت 3 رقم 3 رقم جدا می نمایم vb نوع داده ی ان تکست باکس مرا به صورت varchar در نظر میگیرد و انرا به نوع داده های int , decimal تبدیل نمیکند نوع داده من الان در sql اگر decimal باشد یا int در هر صورت vb تکست باکس مرا convert نمیکند کدی هم که شما به من دادید نتوانست این ویرگول را از بین ببرد
یک کلاس نمونه هم برای #C پیدا کردم که وقتی تبدل به vb کردم عمل نکرد این هم کلاس مورد نظر : کلاس برای جدا کردن کاما و تبدیل به عدد

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ramin
{
classTextToNumber

{
publicint tonumber(String str)
{
if (str == "")
return (0);
else
{
string temp = "";
for (int i = 0; i < str.Length; i++)
if (str[i] != ',')
temp += str[i];
return (int.Parse(temp));
}
}
}
}

ROSTAM2
چهارشنبه 31 خرداد 1391, 20:41 عصر
توابع تبديل رشته به Decimal و يا integer
CDec, CInt



dc = New SqlCommand("Select * from r where pricem between " & CDec(Replace(TextBox15.Text,",","")) & " and " & CDec(Replace( TextBox16.Text,",","") , con)

comboy22
چهارشنبه 31 خرداد 1391, 21:49 عصر
دوست عزیز این کد کمکم نمیکند. باید هنگام ثبت در جدول عدد من به حالت این یا دسیمال تبدیل شود که با وجود کاما در تکست باکس این امکان وجود ندارد

comboy22
چهارشنبه 31 خرداد 1391, 23:11 عصر
دوستان کمک کنید

ali_najari
چهارشنبه 31 خرداد 1391, 23:18 عصر
دوست عزیز بجای اینکه به Decimal تبدیل کنید کافیه از کد زیر استفاده کنید:



Dim Value As Decimal = Val(Replace(TextBox1.Text, ",", ""))