Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 8 trên 8
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    .Joe.'s Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Apr 2011
    Thành viên thứ
    45144
    Tuổi
    33
    Giới tính
    Bài gởi
    8
    Level: 21 [?]
    Experience: 37,975
    Next Level: 38,246
    Cảm ơn 0
    Cảm ơn 2 lần / 1 Bài viết

    Cog Cần giúp đỡ cách chuyển dấu . thành số thập phân!!  

    Chào các bạn ITVNN.NET. Mình đang học XML, khi làm bài tập, bị vướng chỗ này, mong các bác giúp đỡ.

    Vd: Em nhập 12.99
    Khi em dùng double.parse ==> Nó sẽ ra thành 1299

    Em muốn hỏi các pác làm sao để khi nhập 12.99 --> Nó hiểu là thập phân

    Rất mong nhận được sự giúp đỡ của các bạn.

  2. #2
    HTT.itvn's Avatar

    Trạng thái
    Offline
    Họ tên
    Hoàng Thiên Thanh
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    2889
    Đến từ
    Hà Tĩnh
    Giới tính
    Bài gởi
    2,814
    Level: 52 [?]
    Experience: 14,879,652
    Next Level: 16,259,327
    Cảm ơn 123
    Cảm ơn 1,701 lần / 895 Bài viết

    Default

    Cái bài này làm mình nhớ lại thời đi học . Cô cũng ra đề phân biệt số thập phân trong C . Nghĩ mãi không ra giải thuật ( vì thời năm nhất ham chơi hơn ham học ) nên dùng mẹo thế này .

    Đầu tiên nhân số nhập vào với 10 , sau đó chia cho 10 nếu dư thì là số thập phân . Giả sử có số cần nhập như thế này :

    float a,b ;
    a = 12.89;
    b = 12.89*10;
    if ( b%10 == 0 )
    {
    printf " Số nguyên ";
    }
    else
    {
    print " Số thập phân ";
    }
    Chuyên thiết kế website / forum / Modules ... Hỗ trợ trực tuyến : d.web_vn@yahoo.com

    -------------------------------------------------------------------------------------------------
    Bởi vì : " Anh chỉ mất đi một người không yêu anh,
    Nhưng em mất đi một người yêu em thật lòng ... "

    -------------------------------------------------------------------------------------------------




  3. #3
    .Joe.'s Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Apr 2011
    Thành viên thứ
    45144
    Tuổi
    33
    Giới tính
    Bài gởi
    8
    Level: 21 [?]
    Experience: 37,975
    Next Level: 38,246
    Cảm ơn 0
    Cảm ơn 2 lần / 1 Bài viết

    Default

    Cám ơn anh đã giúp đỡ. Nhưng trường hợp input là kiểu số thì làm cách đó ok.
    Nhưng input của em là 1 thằng String. Khi em Convert nó về số thì khi em nhập 12.99, nó sẽ ra thành 1299 ( mất luôn dấu . mà không hiểu dc nó là thập phân ). Mong nhận được sự giúp đỡ!

  4. #4
    HTT.itvn's Avatar

    Trạng thái
    Offline
    Họ tên
    Hoàng Thiên Thanh
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    2889
    Đến từ
    Hà Tĩnh
    Giới tính
    Bài gởi
    2,814
    Level: 52 [?]
    Experience: 14,879,652
    Next Level: 16,259,327
    Cảm ơn 123
    Cảm ơn 1,701 lần / 895 Bài viết

    Default

    Trích Nguyên văn bởi .Joe. View Post
    Cám ơn anh đã giúp đỡ. Nhưng trường hợp input là kiểu số thì làm cách đó ok.
    Nhưng input của em là 1 thằng String. Khi em Convert nó về số thì khi em nhập 12.99, nó sẽ ra thành 1299 ( mất luôn dấu . mà không hiểu dc nó là thập phân ). Mong nhận được sự giúp đỡ!
    String là kiểu text thì em phải convert sang biến float , code dạng như thế này :

    float bien1;
    bien1 = Convert.ToSingle(bien2.Text);
    Bien2 là kiểu string em đã khai báo ở text-box nhé .

    Em có thể sử dụng kiểu biến đổi ngầm như sau :

    string bien1;
    float bien2 = bien1;
    Tương đương :

    string bien1;
    float bien2 = (float)bien1;
    Hoặc kiểu kế thừa lớp - tường minh ( Object ) :

    string bien1;
    float bien2 = bien1.ToFloat();
    Tùy vào độ dài nhị phân mà em có thể sử dụng các cách trên nhé .
    thay đổi nội dung bởi: HTT.itvn; 28-09-2011 lúc 10:58 PM

  5. #5
    .Joe.'s Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Apr 2011
    Thành viên thứ
    45144
    Tuổi
    33
    Giới tính
    Bài gởi
    8
    Level: 21 [?]
    Experience: 37,975
    Next Level: 38,246
    Cảm ơn 0
    Cảm ơn 2 lần / 1 Bài viết

    Default

    float bien1;
    bien1 = Convert.ToSingle(bien2.Text);

    Với đoạn này. Khi em nhập 12.99 ( Lưu ý là 12 chấm 99, ko phải 12 phẩy 99). Biến 1 đã có giá trị là 1299 rùi. Do đó dù chuyển ngầm định hay object gì nó cũng vô tác dụng anh ạh.

  6. #6
    HTT.itvn's Avatar

    Trạng thái
    Offline
    Họ tên
    Hoàng Thiên Thanh
    Tham gia ngày
    Oct 2009
    Thành viên thứ
    2889
    Đến từ
    Hà Tĩnh
    Giới tính
    Bài gởi
    2,814
    Level: 52 [?]
    Experience: 14,879,652
    Next Level: 16,259,327
    Cảm ơn 123
    Cảm ơn 1,701 lần / 895 Bài viết

    Default

    Trích Nguyên văn bởi .Joe. View Post
    float bien1;
    bien1 = Convert.ToSingle(bien2.Text);

    Với đoạn này. Khi em nhập 12.99 ( Lưu ý là 12 chấm 99, ko phải 12 phẩy 99). Biến 1 đã có giá trị là 1299 rùi. Do đó dù chuyển ngầm định hay object gì nó cũng vô tác dụng anh ạh.
    Em cần phải chỉnh region trong máy là US , chứ để VN thì nó hiểu dấu chấm là dấu phân cách . Nếu em để region là VN thì phải gõ dấu phẩy thay dấu chấm .

    Em thử cách ngầm định và tường minh còn lại xem sao nhé .
    thay đổi nội dung bởi: HTT.itvn; 29-09-2011 lúc 06:43 PM

  7. #7
    hanhkhat's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Sep 2009
    Thành viên thứ
    20
    Tuổi
    36
    Giới tính
    Bài gởi
    1,785
    Level: 49 [?]
    Experience: 9,536,890
    Next Level: 10,000,000
    Cảm ơn 448
    Cảm ơn 481 lần / 345 Bài viết

    Default

    Mình dùng code c# thấy chạy tốt
    Code: 
        class Program
        {
            static void Main(string[] args)
            {
                string s = "12.34";
                double a = double.Parse(s);
    
                double aa = a + 11.11;
                Console.WriteLine(a);
                Console.WriteLine(aa);
                Console.ReadKey();
            }
        }
    2011-09-29_211615.png
    Cái gì cũng biết có 1 chút.
    I'm phúc cùi bắp

  8. #8
    .Joe.'s Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Apr 2011
    Thành viên thứ
    45144
    Tuổi
    33
    Giới tính
    Bài gởi
    8
    Level: 21 [?]
    Experience: 37,975
    Next Level: 38,246
    Cảm ơn 0
    Cảm ơn 2 lần / 1 Bài viết

    Default

    Xin lỗi vì để topic này lâu vậy, do em bận wa'. Rất cám ơn các anh đã hướng dẫn em. Em kiểm tra rùi, do Hệ Thống của em mặc định dấu phẩy là thập phân khi code trên console, nên em làm hoài vẫn ko dc. Sau khi điều chỉnh, em đã hoàn thành xong bài tập này. Một lần nữa xin cám ơn ITvnn.net rất nhiều


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Trả lời: 0
    Bài mới gởi: 14-08-2015, 03:45 AM
  2. chuyển panel chuyển sang ngang thế nào ?
    By Lam8 in forum Hỏi đáp & Thảo luận
    Trả lời: 1
    Bài mới gởi: 29-09-2011, 11:40 PM
  3. VSO ConvertXToDVD 4.1.9.347 - Chuyển đổi và ghi DVD chuyên nghiệp
    By vodoi10101 in forum Multimedia & Plugins-Codec Software
    Trả lời: 0
    Bài mới gởi: 16-01-2011, 11:27 PM
  4. Trả lời: 0
    Bài mới gởi: 01-07-2010, 11:47 AM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •