当前位置: 首页 > news >正文

wpf 数据转换(Bytes 转 KB MB GB)

效果

 后端

using ProCleanTool.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;namespace ProCleanTool.ViewModel
{internal class ConvertBytesToSize : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){long total = 0;if(value !=  null){total = (long)value;    }return ConvertBytesToSizeFun(total);}public static string ConvertBytesToSizeFun(long bytes){double size = (double)bytes;if (size < 1024) //小于等于1KB的情况return $"{size} B";else if (size >= 1024 && size <= Math.Pow(1024, 2)) //大于等于1KB且小于等于1MB的情况return $"{(size / 1024):F2} KB";else if (size > Math.Pow(1024, 2) && size <= Math.Pow(1024, 3)) //大于等于1MB且小于等于1GB的情况return $"{(size / Math.Pow(1024, 2)):F2} MB";else //大于等于1GB的情况return $"{(size / Math.Pow(1024, 3)):F2} GB";}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotImplementedException();}}
}

前端

引入

xmlns:local="clr-namespace:XXXX.ViewModel"
<local:ConvertBytesToSize x:Key="ConvertBytesToSize" />

 使用

<TextBlock Grid.Row="1" Text="{Binding Path=AllSize,Converter='{StaticResource ConvertBytesToSize}', StringFormat='可节省{0}'}" FontSize="9"/>

相关文章:

  • 一些著名的软件都用什么语言编写?
  • 03:华为云管理|云主机管理|云项目实战
  • 微信小程序~上推加载更多组件
  • Vue 插槽讲解
  • Docker 基础篇
  • js复杂数据类型如何转变为字符串
  • MySQL 函数参考手册(MySQL 日期函数)
  • 【Linux】Linux环境基础开发工具使用
  • STM32通用定时器、计数器
  • 能替代微软AD的国产化方案,搭建自主可控的身份管理体系
  • idea创建golang项目
  • Mov转MP4怎么转换?如何播放mov视频?
  • OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?
  • 机器狗行业调研:全球市场规模将达到数十亿美元
  • 【C++】C++入门基础讲解(一)
  • (三)从jvm层面了解线程的启动和停止
  • @jsonView过滤属性
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 0基础学习移动端适配
  • 5、React组件事件详解
  • const let
  • ES6核心特性
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HomeBrew常规使用教程
  • JS变量作用域
  • Spring Cloud中负载均衡器概览
  • Theano - 导数
  • 阿里云Kubernetes容器服务上体验Knative
  • 观察者模式实现非直接耦合
  • 我与Jetbrains的这些年
  • 新书推荐|Windows黑客编程技术详解
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​什么是bug?bug的源头在哪里?
  • (2)STL算法之元素计数
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (MATLAB)第五章-矩阵运算
  • (二)c52学习之旅-简单了解单片机
  • (二)PySpark3:SparkSQL编程
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十七)Flink 容错机制
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net core 6 集成和使用 mongodb
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .net反编译工具
  • .net开发日常笔记(持续更新)
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually