vue實現在線進制轉換

vue實現在線進制轉換

主要功能包括:

1.支持2-36進制之間的轉換。
2.支持整數和浮點數的轉換。
3.輸入驗證(雖然可能存在不嚴格的情況)。
4.錯誤提示。
5.結果展示,包括大寫字母。
6.用戶友好的界面,包括下拉菜單、輸入框、按鈕和結果區域。
7.小數部分處理,限制精度為10位。
8.即時轉換(通過按鈕觸發,而非實時響應)。

效果圖:
在這里插入圖片描述

step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue

<template><div class="converter-container"><h1>在線進制轉換</h1><p class="description">支持在2~36進制之間進行任意轉換,支持浮點型</p><div class="converter-wrapper"><div class="converter-row"><div class="select-group"><select v-model="fromBase" class="base-select"><option v-for="n in bases" :value="n">{{ n }}進制</option></select></div><div class="input-group"><inputtype="text"v-model="inputNumber"placeholder="轉換數字"class="number-input"></div></div><div class="converter-row"><div class="select-group"><select v-model="toBase" class="base-select"><option v-for="n in bases" :value="n">{{ n }}進制</option></select></div><div class="result-group"><div class="result-display">{{ result }}</div></div></div></div><button @click="convert" class="convert-btn">立即轉換</button></div>
</template><script setup>
import { ref, computed } from 'vue'const fromBase = ref(16)
const toBase = ref(10)
const inputNumber = ref('3c')
const result = ref('')
const bases = Array.from({ length: 35 }, (_, i) => i + 2); // 生成 2 到 36 的進制數組const convert = () => {try {// Handle empty inputif (!inputNumber.value) {result.value = '';return;}// Check if the input number is valid for the selected baseconst isValid = /^[0-9a-z.]+$/i.test(inputNumber.value);if (!isValid) {result.value = '輸入包含無效字符';return;}// Separate integer and fractional partsconst [integerPartStr, fractionalPartStr = ''] = inputNumber.value.split('.');// Convert integer partconst integerPartDecimal = parseInt(integerPartStr, fromBase.value);if (isNaN(integerPartDecimal)) {result.value = '無效的輸入數字';return;}const integerPartResult = integerPartDecimal.toString(toBase.value).toUpperCase();// Convert fractional part if it existslet fractionalPartResult = '';if (fractionalPartStr) {let decimalFraction = 0;for (let i = 0; i < fractionalPartStr.length; i++) {const digit = parseInt(fractionalPartStr[i], fromBase.value);if (isNaN(digit) || digit >= fromBase.value) {result.value = '無效的小數部分';return;}decimalFraction += digit * Math.pow(fromBase.value, -(i + 1));}let tempFractionalResult = '';let tempDecimal = decimalFraction;for (let i = 0; i < 10; i++) { // Limit precision to 10 digitstempDecimal *= toBase.value;const integerPart = Math.floor(tempDecimal);tempFractionalResult += integerPart.toString(toBase.value).toUpperCase();tempDecimal -= integerPart;if (tempDecimal === 0) {break;}}fractionalPartResult = '.' + tempFractionalResult;}result.value = integerPartResult + fractionalPartResult;} catch (error) {result.value = '轉換出錯';console.error("Conversion error:", error);}
}
</script><style scoped>
.converter-container {max-width: 600px;margin: 20px auto;padding: 20px;background: #fff;border-radius: 8px;box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}h1 {text-align: center;color: #333;margin-bottom: 10px;
}.description {text-align: center;color: #666;margin-bottom: 30px;
}.converter-wrapper {margin: 20px 0;
}.converter-row {display: flex;gap: 10px;margin-bottom: 15px;
}.select-group, .input-group, .result-group {flex: 1;
}.base-select, .number-input {width: 100%;padding: 12px;border: 1px solid #fff;border-radius: 4px;font-size: 16px;
}.result-display {padding: 12px;background: #f8f9fa;border: 1px solid #eee;border-radius: 4px;min-height: 46px;
}.convert-btn {width: 100%;padding: 12px;background: #007bff;color: white;border: none;border-radius: 4px;cursor: pointer;font-size: 16px;transition: background 0.3s;
}.convert-btn:hover {background: #0056b3;
}
</style>

end

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77597.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77597.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智體知識庫:poplang編程語言是什么?

問&#xff1a;poplang語言是什么 Poplang 語言簡介 Poplang&#xff08;OPCode-Oriented Programming Language&#xff09;是一種面向操作碼&#xff08;Opcode&#xff09;的輕量級編程語言&#xff0c;主要用于智體&#xff08;Agent&#xff09;系統中的自動化任務處理、…

二分查找5:852. 山脈數組的峰頂索引

鏈接&#xff1a;852. 山脈數組的峰頂索引 - 力扣&#xff08;LeetCode&#xff09; 題解&#xff1a; 事實證明&#xff0c;二分查找不局限于有序數組&#xff0c;非有序的數組也同樣適用 二分查找主要思想在于二段性&#xff0c;即將數組分為兩段。本體就可以將數組分為ar…

下列軟件包有未滿足的依賴關系: python3-catkin-pkg : 沖突: catkin 但是 0.8.10-

下列軟件包有未滿足的依賴關系: python3-catkin-pkg : 沖突: catkin 但是 0.8.10- 解決&#xff1a; 1. 確認當前的包狀態 首先&#xff0c;運行以下命令來查看當前安裝的catkin和python3-catkin-pkg版本&#xff0c;以及它們之間的依賴關系&#xff1a; dpkg -l | grep ca…

深度學習:AI 大模型時代的智能引擎

當 Deepspeek 以逼真到難辨真假的語音合成和視頻生成技術橫空出世&#xff0c;瞬間引發了全球對 AI 倫理與技術邊界的激烈討論。從偽造名人演講、制造虛假新聞&#xff0c;到影視行業的特效革新&#xff0c;這項技術以驚人的速度滲透進大眾視野。但在 Deepspeek 強大功能的背后…

醫學分割新標桿!雙路徑PGM-UNet:CNN+Mamba實現病灶毫厘級捕捉

一、引言&#xff1a;醫學圖像分割的挑戰與機遇 醫學圖像分割是輔助疾病診斷和治療規劃的關鍵技術&#xff0c;但傳統方法常受限于復雜病理特征和微小結構。現有深度學習模型&#xff08;如CNN和Transformer&#xff09;雖各有優勢&#xff0c;但CNN難以建模長距離依賴&…

CV - 目標檢測

物體檢測 目標檢測和圖片分類的區別&#xff1a; 圖像分類&#xff08;Image Classification&#xff09; 目的&#xff1a;圖像分類的目的是識別出圖像中主要物體的類別。它試圖回答“圖像是什么&#xff1f;”的問題。 輸出&#xff1a;通常輸出是一個標簽或一組概率值&am…

高并發秒殺系統設計:關鍵技術解析與典型陷阱規避

電商、在線票務等眾多互聯網業務場景中&#xff0c;高并發秒殺活動屢見不鮮。這類活動往往在短時間內會涌入海量的用戶請求&#xff0c;對系統架構的性能、穩定性和可用性提出了極高的挑戰。曾經&#xff0c;高并發秒殺架構設計讓許多開發者望而生畏&#xff0c;然而&#xff0…

藍橋杯--結束

沖刺題單 基礎 一、簡單模擬&#xff08;循環數組日期進制&#xff09; &#xff08;一&#xff09;日期模擬 知識點 1.把月份寫為數組&#xff0c;二月默認為28天。 2.寫一個判斷閏年的方法&#xff0c;然后循環年份的時候判斷并更新二月的天數 3.對于星期數的計算&#…

13、nRF52xx藍牙學習(GPIOTE組件方式的任務配置)

下面再來探討下驅動庫如何實現任務的配置&#xff0c;驅動庫的實現步驟應該和寄存器方式對應&#xff0c;關 鍵點就是如何調用驅動庫的函數。 本例里同樣的對比寄存器方式編寫兩路的 GPOITE 任務輸出&#xff0c;一路配置為輸出翻轉&#xff0c;一路設 置為輸出低電平。和 …

Java的基本語法(1)

一、運算符和表達式 舉例說明什么是運算符&#xff0c;什么是表達式&#xff1a; int a 1; int b 2; int c a b; 在這個例子當中&#xff0c;是運算符&#xff0c;并且是算術運算符 ab是表達式&#xff0c;因為是運算符&#xff0c;所以ab是算術表達式 1.1算術運算符 …

C++學習之密碼學知識

目錄 1.文檔介紹 2.知識點概述 3.項目準備 4.序列化介紹 5.項目中基礎組件介紹 6.基礎模塊在項目中作用 7.項目中其他模塊介紹 8.加密三要素 9.對稱加密和非堆成加密 10.對稱和非對稱加密特點 11.堆成加密算法des 12.des對稱加密算法 13.對稱加密算法aes 14.知識點…

安裝vllm

ubuntu 22.04, RTX3080, cuda 12.1, cudnn 8.9.7&#xff0c;cuda和cudnn的安裝參考&#xff1a;https://blog.csdn.net/m0_52111823/article/details/147154526?spm1001.2014.3001.5501。 查看版本對應關系&#xff0c;下載12.1對應的whl包&#xff0c;https://github.com/vl…

【WPF】自定義控件:ShellEditControl-同列單元格編輯支持文本框、下拉框和彈窗

需要實現表格同一列&#xff0c;單元格可以使用文本框直接輸入編輯、下拉框選擇和彈窗&#xff0c;文本框只能輸入數字&#xff0c;彈窗中的數據是若干位的二進制值。 本文提供了兩種實現單元格編輯狀態下&#xff0c;不同編輯控件的方法&#xff1a; 1、DataTrigger控制控件的…

Gson、Fastjson 和 Jackson 對比解析

目錄 1. Gson (Google) 基本介紹&#xff1a; 核心功能&#xff1a; 特點&#xff1a; 使用場景&#xff1a; 2. Fastjson (Alibaba) 基本介紹&#xff1a; 核心功能&#xff1a; 特點&#xff1a; 使用場景&#xff1a; 3. Jackson 基本介紹&#xff1a; 核心功能…

淺談微信視頻號推薦算法

這次可能會稍微有點干貨&#xff0c;但保證不晦澀~ 一、算法推薦的本質&#xff1a;猜你喜歡 vs 社交綁架? 視頻號的推薦系統本質上在做兩件事&#xff1a; ?預測你的興趣?&#xff1a;通過你的瀏覽、點贊、評論、分享等行為&#xff0c;分析你的偏好。?滿足社交需求?&…

halcon模板匹配(一)create_shape_model_xld

目錄 一、提取剎車盤孔洞輪廓二、形狀模板的創建-設置-訓練-查找三、找到亮的圓孔四、獲得匹配結果五、使用use_polarity進行模板匹配六、計算四個圓對應的矩形框七、創建四個圓對應的模板并查找一、提取剎車盤孔洞輪廓 小技巧總結,使用boundary 函數提取區域邊界,在邊界范圍…

day26圖像處理OpenCV

文章目錄 一、OpenCV1.介紹2.下載3.圖像的表示4.圖像的基本操作4.1圖片讀取或創建4.1.1讀取4.1.2創建 4.2創建窗口4.3顯示圖片4.3.1設置讀取的圖片4.3.2設置顯示多久4.3.3釋放 4.4.保存圖片4.5圖片切片&#xff08;剪裁&#xff09;4.6圖片大小調節 5.在圖像中繪值5.1繪制直線5…

零基礎開始學習鴻蒙開發-智能家居APP離線版介紹

目錄 1.我的小屋 2.查找設備 3.個人主頁 前言 好久不發博文了&#xff0c;最近都忙于面試&#xff0c;忙于找工作&#xff0c;這段時間終于找到工作了。我對鴻蒙開發的激情依然沒有減退&#xff0c;前幾天做了一個鴻蒙的APP&#xff0c;現在給大家分享一下&#xff01; 具體…

C++的*了又*

先看下面一段代碼 class HeapWord {friend class VMStructs;private:char *i; };主函數 #include "HeapWord.hpp" int main() {HeapWord *heapword new HeapWord();HeapWord *p new HeapWord();HeapWord **p1 new HeapWord *();heapword 3;*(HeapWord **)p he…

yolov8在windows系統的C++版本的onnxruntime部署方法

1.各個軟件的的環境需要保持在統一的版本。 onnxruntime需要和cuda的版本對應上,版本號:onnxruntime-win-x64-gpu-1.18.1 ,鏈接: NVIDIA - CUDA | onnxruntime cuda:本機顯卡支持的版本,cuda11.7,鏈接:CUDA Toolkit Archive | NVIDIA Developer cudnn:需要對應到cud…